#include<iostream> #include<iomanip> using namespace std; void nhapmt(int a[50][50],int hang,int cot) { int i,j; for(i=0;i<hang;i++) for(j=0;j<cot;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[j]; } } void xuatmt(int a[50][50],int hang,int cot) { int i,j; for(i=0;i<hang;i++) { for(j=0;j<cot;j++) cout<<setw(4)<<a[j]<<" "; cout<<"\n"; } } void tongmt(int a[50][50],int b[50][50],int c[50][50],int cot,int hang) { int i,j; for(i=0;i<=hang;i++) for(j=0;j<=cot;j++) c[j]=a[j]+b[j]; } void main() { system("color 3e"); int a[50][50]; int b[50][50]; int c[50][50]; int hang1,hang2,cot1,cot2; cout<<"ma tran a"<<endl; cout<<"nhap so hang: ";cin>>hang1; cout<<"nhap so cot: ";cin>>cot1; nhapmt(a,hang1,cot1); cout<<"ma tran b"<<endl; do { cout<<"nhap so hang: "; cin>>hang2; } while(hang1!=hang2); do { cout<<"nhap so cot: "; cin>>cot2; } while(cot1!=cot2); nhapmt(b,hang2,cot2); cout<<"ma tran a la: "<<endl; xuatmt(a,hang1,cot1); cout<<"\n"; cout<<"ma tran b la: "<<endl; xuatmt(b,hang2,cot2); cout<<"\n"; //tong hai ma tran cout<<"tong cua hai ma tran la: "<<endl; tongmt(a,b,c,hang1,cot1); xuatmt(c,hang1,cot1); }
không biết là mình đã lạc hậu hay chưa nhưng sao cái hàm cộng ma trận vòng for lại chạy for(i=0;i<=hang;i++) 1 vấn đề nữa là ở hàm main lại có đk ràng buộc là hang1==hang2 thế tại sao ko dùng biến hang và cot cho ngắn lại. Đó chỉ là ý kiến chủ quan thôi nên có gì sai sót mong bỏ qua cho