đề bài: Nhập hai ma trận, hiển thị ma trận tổng, sử dụng cấp phát bộ nhớ động cho mảng hai chiều?
e thử chạy chương trình, nhập ma trân bình thường nhưng đến phần hiện ma trận bị lỗi
e sử dụng code:block
mong mn giúp đỡ
#include <iostream>
using namespace std;
void nmt( int **a, int h, int d); // hàm nhập ma trận
void cmt( int **a, int **b,int **c, int h, int d); //hàm cộng ma trận
void hmt (int **a, int h, int d); // hàm in ma trận
void xmt(int **a,int h); //hàm xóa ma trận
int main()
{
int h, d;
int **a, **b, **c; //các ma trận a,b,c
cout<<"Nhap so hang cua ma tran: ";
cin>>h; //số hàng
cout<<"\nNhap so cot cua ma tran: ";
cin>>d; //số cột
cout<<"Nhap ma tran A: "<<endl;
nmt(a,h,d);
cout<<"Nhap ma tran B: "<<endl;
nmt(b,h,d);
cmt(a,b,c,h,d); //tinh tong hai ma tran
cout<<"Ma tran tong la: "<<endl;
hmt(c,h,d);
xmt(a,h);
xmt(b,h);
xmt(c,h);
return 0;
}
void nmt(int **a, int h, int d)
{
a= new int*[d];
for(int i=0;i<h;i++)
{
a[i] = new int[h];
for(int j=0;j<d;j++)
{
cout<<"\nNhap phan tu hang "<<i+1<<"cot "<<j+1 <<" : ";
cin>> a[i][j];
}
}
return;
}
void hmt(int **a, int h, int d)
{
for(int i=0;i<h;i++)
for(int j=0;j<d;j++)
{
cout<<" "<< a[i][j] <<" ";
cout<<endl;
}
return;
}
void cmt(int **a, int **b, int **c, int h, int d)
{
for(int i=0;i<h;i++)
for(int j=0;j<d;j++)
c[i][j] = ( a[i][j]+b[i][j]);
}
void xmt(int **a, int h)
{
for(int i=0;i<h;i++) delete [] a[i];
delete [] a;
return;
}


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