30/09/2018, 20:18
Lỗi code C++, khởi tạo một ma trận!
Mọi người có thể cho mình hỏi code này bị lỗi ở đâu không ?
#include <iostream>
#include <iomanip>
using namespace std;
void nhapmatran(int **a, int *hang, int *cot);
void main()
{
int **a, hang, cot;
cout << "Khoi tao ma tran A" << endl;
nhapmatran(a, &hang, &cot);
system("pause");
}
void nhapmatran(int **a, int *hang, int *cot)
{
int i, j;
cout << "Nhap so hang : ";
cin >> *hang;
cout << "Nhap so cot :";
cin >> *cot;
a = new int*[*hang];
for (i = 0; i < *hang; i++)
{
a[i] = new int[*cot];
for (j = 0; j < *cot; j++)
{
cout << "Phan tu " << i << j << " = ";
cin >> a[i][j];
}
}
}
Bài liên quan
Code này sai thuật toán vì sau khi ra khỏi hàm a vẫn là địa chỉ cũ, bạn có thể debug để xem địa chỉ của nó
Cảm ơn bạn. Chạy được rồi.