/* Xay dung lop MT(ma tran vuong)
thuoc tinh: float a[20][20]; //a[i][j], i,j=1, ..n
int n;
Phuong thuc nhap, xuat tong va tich 2 ma tran
Ham main: +nhap 2 ma tran x,y
+tinh u=x+y
v=x.y
xuat ra man hinh cac ma tran x,y,u,v */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>
class MT
{ private:
float a[20][20];
public:
void nhap(int n);
void xuat(int n);
MT tong(MT u,int n);
MT tich(MT u,int n);
};
void MT::nhap(int n)
{ int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ cout<<"
a["<<i<<","<<j<<"]=";
cin>>this->a[i][j];
}
}
void MT::xuat(int n)
{ int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cout<<"
PT hang "<<i<<" cot "<<j<<" ="<<this->a[i][j];
}
MT MT::tong(MT u,int n)
{ MT v;int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
v.a[i][j]=this->a[i][j]+u.a[i][j];
return v;
}
MT MT::tich(MT u,int n)
{ MT v;int i,j,k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ v.a[i][j]=0;
for(k=1;k<=n;k++)
v.a[i][j]+=this->a[i][k]*u.a[k][j];
}
return v;
}
void main()
{ clrscr();
MT u,v;
MT p,q;
int n;
cout<<"
Cap ma tran N=";cin>>n;
u.nhap(n);
v.nhap(n);
p=u.tong(v,n);
q=u.tich(v,n);
cout<<"
Ma tran tong:";
p.xuat(n);
cout<<"
Ma tran tich:";
q.xuat(n);
getch();
}
Bạn đang đọc truyện trên: Truyen2U.Pro