đề bài: Viết chương trình nhập vào 1 số n. Khởi tạo và nhập vào một mảng 2 chiều gồm n hàng và n cột. Tính tổng tất cả các số có trên đường chéo chính.
Yêu cầu sử dụng 2 hàm sau:
Prototype: void nhap(int **a, int n)//nhập mảng 2 chiều [nxn] do con trỏ a trỏ tới
int tong_cheo (int **a, int n)// trả về tổng các phần tử trên đường chéo chính
Lúc nhập giá trị các phân tử xong rồi thì nó bị lỗi ở dòng này ạ: s += ((a+i)+j);
và báo lỗi : Exception thrown at 0x013C618C in Project16.exe: 0xC0000005: Access violation reading location 0x00000000.
e tìm hiểu mãi không biết, nên mới đăng lên hỏi các ac, e cảm ơn ạ.
using namespace std;
void nhap(int **a, int n)
{
a = new int *[n];
for (int i = 0; i < n; i++) {
a[i] = new int [n];
for (int j = 0; j < n; j++)
{
cout << "A[" << i << "]" << "[" << j << "]= ";
cin >> *(*(a+i)+j);
}
}
}
int tong_cheo(int **a, int n)
{
int s = 0;
int j = 0;
for (int i = 0; i < n; i++)
{
s += *(*(a+i)+j);
}
return s;
}
int main()
{
int **a=0;
int n;
cout << "Nhap gia tri cua n:"; cin >> n;
nhap(a, n);
cout << "Tong cac phan tu tren duong cheo chinh= " << tong_cheo(a,n);
cout << endl;
system("pause");
return 0;
for (int i = 0; i < n; i++)
delete [] * (a + i);
delete[] a;
}