Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: [ Solved ]Nhập ma trận với con trỏ hai chiều

  1. #1
    Ngày gia nhập
    09 2008
    Nơi ở
    Hà Đông
    Bài viết
    2

    Mặc định [ Solved ]Nhập ma trận với con trỏ hai chiều

    Mọi người giúp mình bài toán này với

    Code:
    #include <iostream.h>
    #include <conio.h>
    #include <fstream.h>
    
    class Matrix
    {
        private:
    		int hang,cot;
    		float **giatri;
        public:
    		Matrix();
    		Matrix(char *tentep);
    		void Display();
    };
    Matrix::Matrix()
    {
        cout<<endl<<"Hay nhap so hang va so cot cua ma tran: ";
        cin>>hang>>cot;
        giatri = new float[hang][cot];
        for(int i=0;i<hang;i++)
           for(int j=0;j<cot;j++)
    	  {
    	     cout<<endl<<"giatri ["<<i<<"]["<<j<<"] = ";
    	     cin>>giatri[i][j];
    	  }
    }
    Matrix::Matrix(char *tentep)
    {
        ifstream fin(tentep,ios::in);
        fin>>hang;fin>>cot;
        giatri=new float[hang][cot];
        for(int i=0;i<hang;i++)
           for(int j=0;j<cot;j++)
           fin>>giatri[i][j];
        fin.close;
    }
    void Matrix::Display()
    {
        for(int i=0;i<hang;i++)
           for(int j=0;j<cot;j++)
    	  {
    	     cout<<giatri[i][j];
    	  }
           cout<<"\n\n\n";
    }
    
    void main()
    {
        Matrix A;
        Matrix B("D:\\TC\\BIN\\matrix.txt");
        A.Display();
        B.Display();
        getch();
    }
    Mình làm đúng như cô giáo hướng đẫn mà không chạy được.

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    PHP Code:
    #include <iostream.h>
    #include <conio.h>
    #include <fstream.h>

    class Matrix
    {
        private:
            
    int hang,cot;
            
    float **giatri;
        public:
            
    Matrix();
            
    Matrix(char *tentep);
            
    void Display();
    };
    Matrix::Matrix()
    {
        
    cout<<endl<<"Hay nhap so hang va so cot cua ma tran: ";
        
    cin>>hang>>cot;
        
    giatri = new float*[hang];
        for(
    int i=0;i<hang;i++)
           for(
    int j=0;j<cot;j++)
          {
             
    cout<<endl<<"giatri ["<<i<<"]["<<j<<"] = ";
             
    cin>>giatri[i][j];
          }
    }
    Matrix::Matrix(char *tentep)
    {
        
    fstream fin(tentep,ios::in);
        
    fin>>hang;fin>>cot;
        
    giatri=new float*[hang];
        for(
    int i=0;i<hang;i++)
           for(
    int j=0;j<cot;j++)
           
    fin>>giatri[i][j];
        
    fin.close();
    }
    void Matrix::Display()
    {
        for(
    int i=0;i<hang;i++)
           for(
    int j=0;j<cot;j++)
          {
             
    cout<<giatri[i][j];
          }
           
    cout<<"\n\n\n";
    }

    void main()
    {
        
    Matrix A;
        
    Matrix B("D:\\TC\\BIN\\matrix.txt");
        
    A.Display();
        
    B.Display();

    lỗi cáp phát động và lỗi đóng file

  3. #3
    Ngày gia nhập
    09 2008
    Nơi ở
    Hà Đông
    Bài viết
    2

    Uh! cảm ơn cậu nhiều nha.

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Nhanh thế coder+gate ?

    giatri = new float*[hang];
    Lạ nhỉ ? Tớ chưa test nhưng mảng 2 chiều cấp phát thế này có ổn ko ?

    Bạn shushu ơi Built chưa ?

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Nhanh thế coder+gate ?

    Trích dẫn:
    giatri = new float*[hang];
    Lạ nhỉ ? Tớ chưa test nhưng mảng 2 chiều cấp phát thế này có ổn ko ?

    Bạn shushu ơi Built chưa ?
    mình hay chơi trên CFREE nên vội làm thế,nó cũng chả báo gì
    cẩn thận ra thì nên khai báo thế này( vì thiếu giải phóng cho cấp phát nữa)
    Code:
    Matrix::Matrix()
    {
        cout<<endl<<"Hay nhap so hang va so cot cua ma tran: ";
        cin>>hang>>cot;
        giatri = new float*[hang];
        for(int i=0;i<hang;i++)
    		giatri[i] =new float[cot];
        for(i=0;i<hang;i++)
    		for(int j=0;j<cot;j++)
    		{
    			cout<<endl<<"giatri ["<<i<<"]["<<j<<"] = ";
    			cin>>giatri[i][j];
    		}
    		for( i=0;i<cot;i++)
    			delete [] giatri [i];
    		delete [] giatri;
    		
    }

  6. #6
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Mặc định [ Solved ]Nhập ma trận với con trỏ hai chiều

    C++ Code:
    1. Matrix::Matrix()
    2. {
    3.     cout<<endl<<"Hay nhap so hang va so cot cua ma tran: ";
    4.     cin>>hang>>cot;
    5.     giatri = new float*[hang];
    6.     for(int i=0;i<hang;i++)
    7.        for(int j=0;j<cot;j++)
    8.       {
    9.          cout<<endl<<"giatri ["<<i<<"]["<<j<<"] = ";
    10.          cin>>giatri[i][j];
    11.       }
    12. }
    Đoạn này cấp phát sai rồi !

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    uh. Mà máy bài này, Dr có viết 1 bài rất hay về nó.
    Hình như tiêu đề là "Khai báo con trỏ n chiều" thì phải ?

  8. #8
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Đoạn này cấp phát sai rồi !
    sorry,mình hay chơi CFREE,mà thằng này thì rất phóng khoáng chuyện khai báo
    mình sửa lại rồi đó

Các đề tài tương tự

  1. Tim đường đi ngắn nhất trong ma trận 2 chiều dùng BFS
    Gửi bởi quangdongst trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 25-03-2012, 12:31 PM
  2. Lập trình C++ Mảng 2 Chiều nhập và xuất ra màn hình ma trận A[n][m]
    Gửi bởi vodanh122 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 10-12-2010, 04:00 PM
  3. nhập ma trận 2 chiều mà sao cứ chạy quài
    Gửi bởi clementboy03 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 02-04-2009, 07:29 PM
  4. [ Solved ]Mảng 2 chiều
    Gửi bởi TamXuanXanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 18-09-2008, 07:50 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn