Mảng 2 chiều dùng con trỏ trong c++, sai ở đâu ạ?

em viết 1 hàm là nhập vào mảng và 1 hàm in ra mảng như sau :

    int** inputMatrix(int nRows, int nCols)
    {
        int **matrix =new int *[nRows];
        for (int j=0; j< nCols; j++)
        {
            matrix[j] = new int [nCols];
        }
        for (int i=0; i<nRows; i++)
        {
            for (int j=0; j<nCols; j++)
            {
                cin >> matrix[i][j];
            }
        }
        return matrix;
    }
    void printMatrix(int** matrix, int nRows, int nCols)
    {
        for (int i=0; i<nRows; i++)
        {
            for (int j=0; j<nCols; j++)
            {
                cout <<  matrix[i][j] << " ";
            }
            cout << endl;
        }
    }

em thử test là

3 2
-1 -2
-3 -4
-5 -6

thì nó báo lỗi, vậy cho em hỏi lỗi ở đâu và sao lại lỗi ạ ? em cảm ơn nhiều ạ ! à như em viết thế này thì cho em hỏi em bị hổng kiến thức ở đâu mọi người chỉ giúp em để em xem lại ạ !!

Hi Nguyễn Dương.

  1. Bạn bị đau thì cũng nói bạn bị đau ở đâu để mọi người còn tìm nguyên nhân chứ. Show màn hình lỗi, nếu chạy debug thì show màn hình break lên.
  2. Bạn hổng kiến thức phân tích vấn đề.
1 Like

Có một dòng thớt duyệt sai cận nên bị văng lỗi.

1 Like

Nhìn kĩ đoạn này bạn nhé.

lỗi này ạ @@

à em hiểu rồi ạ !!!

đúng rồi, em hiểu sai ở đâu rồi ạ ! em cảm ơn ạ !!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?