Tboy Cá voi
Tổng số bài gửi : 178 Cảm ơn : 413 Danh vọng : 4 Join date : 03/01/2011 Age : 32 Đến từ : TPHCM
| Tiêu đề: Cộng,Trừ,Nhân,Chuyển vị Ma trận Wed Jan 26, 2011 9:26 pm | |
| | Wed Jan 26, 2011 9:26 pm Cộng,Trừ,Nhân,Chuyển vị Ma trận | | | Đề:1)Nhập ma trận vuông A va in ra ma trận đơn vị. 2)Nhập ma trận B và C. Tính tổng 2 ma trận. 3) Nhập ma trận D và E. Tính tích 2 ma trận. 4)Nhập ma trận F và in ra ma trận chuyển vị. - Code:
-
#include <stdio.h> #include <conio.h> #define Max 100 //======================Cac ham trong chuong trinh============================== void Nhapmatran(int Matran[][Max],int Dong,int Cot,char Tenmatran); void Xuatmatran(int Matran[][Max],int Dong,int Cot); void Matrandonvi(int MatranKQ[][Max],int Cap); void Tichmatran(int MatranA[][Max],int MatranB[][Max],int MatranKQ[][Max],int DongA,int CotA,int CotB); void Tongmatran(int MatranA[][Max],int MatranB[][Max],int MatranKQ[][Max],int DongA,int CotA); void Matranchuyenvi(int MaTran[][Max],int MatranKQ[][Max],int Dong,int Cot); //======================Chuong trinh chinh====================================== void main() { //===================Khai bao bien va mang hai chieu============================ int cap,dongB,cotB,dongC,cotC,dongD,cotD,dongE,cotE,dongF,cotF,a[Max][Max],b[Max][Max],c[Max][Max],d[Max][Max],e[Max][Max],f[Max][Max],kq[Max][Max]; //==============Nhap ma tran vuong A va in ra ma tran don vi==================== do { printf("Nhap vao cap cua ma tran vuong A: "); scanf("%d",&cap); }while(cap<1||cap>Max); Nhapmatran(a,cap,cap,'A'); printf("Ma tran A: \n"); Xuatmatran(a,cap,cap); Matrandonvi(kq,cap); printf("Ma tran don vi cua A: \n"); Xuatmatran(kq,cap,cap); //==============Nhap ma tran B va C. Tim tong 2 ma tran========================= do { printf("Nhap vao so cot va dong cua ma tran B: "); scanf("%d%d",&dongB,&cotB); }while(dongB<1||cotB<1||dongB>Max||cotB>Max); Nhapmatran(b,dongB,cotB,'B'); printf("Ma tran B: \n"); Xuatmatran(b,dongB,cotB); do { printf("Nhap vao so cot va dong cua ma tran C (phai bang so cot va dong cua ma tran B): "); scanf("%d%d",&dongC,&cotC); }while(dongC<1||cotC<1||dongC>Max||cotC>Max||dongC!=dongB||cotC!=cotB); Nhapmatran(c,dongC,cotC,'C'); printf("Ma tran C: \n"); Xuatmatran(c,dongC,cotC); Tongmatran(b,c,kq,dongB,cotB); printf("Tong ma tran B va C :\n"); Xuatmatran(kq,dongB,cotB); //================Nhap vao ma tran D va E.Tim tich 2 ma tran==================== do { printf("Nhap vao so cot va dong cua ma tran D: "); scanf("%d%d",&dongD,&cotD); }while(dongD<1||cotD<1||dongD>Max||cotD>Max); Nhapmatran(d,dongD,cotD,'D'); printf("Ma tran D: \n"); Xuatmatran(d,dongD,cotD); do { printf("Nhap vao so cot va dong cua ma tran E (so dong cua ma tran E phai bang so cot cua ma tran B): "); scanf("%d%d",&dongE,&cotE); }while(dongE<1||cotE<1||dongE>Max||cotE>Max||dongE!=cotD); Nhapmatran(e,dongE,cotE,'E'); printf("Ma tran E: \n"); Xuatmatran(e,dongE,cotE); Tichmatran(d,e,kq,dongD,cotD,cotE); printf("Tich ma tran D va E :\n"); Xuatmatran(kq,dongD,cotE); //===============Nhap vao ma tran F. In ra ma tran chuyen vi cua F============== do { printf("Nhap vao so cot va dong cua ma tran F: "); scanf("%d%d",&dongF,&cotF); }while(dongF<1||cotF<1||dongF>Max||cotF>Max); Nhapmatran(f,dongF,cotF,'F'); printf("Ma tran F: \n"); Xuatmatran(f,dongF,cotF); Matranchuyenvi(f,kq,cotF,dongF); printf("Ma tran chuyen vi cua F: \n"); Xuatmatran(kq,cotF,dongF); getch(); } void Nhapmatran(int Matran[][Max],int Dong,int Cot,char Tenmatran) { for(int i=0;i<Dong;i++) for(int j=0;j<Cot;j++) { printf("%c[%d][%d]= ",Tenmatran,i+1,j+1); scanf("%d",&Matran[i][j]); } } void Xuatmatran(int Matran[][Max],int Dong,int Cot) { for(int i=0;i<Dong;i++) { for(int j=0;j<Cot;j++) printf("%5d ",Matran[i][j]); printf("\n"); } } void Matrandonvi(int MatranKQ[][Max],int Cap) { for(int i=0;i<Cap;i++) for(int j=0;j<Cap;j++) if(i==j) MatranKQ[i][j]=1; else MatranKQ[i][j]=0; } void Tongmatran(int MatranA[][Max],int MatranB[][Max],int MatranKQ[][Max],int DongA,int CotA) { for(int i=0;i<DongA;i++) for(int j=0;j<CotA;j++) MatranKQ[i][j]=MatranA[i][j]+MatranB[i][j]; //De tinh hieu 2 ma tran ta sua dau cong thanh dau tru } void Tichmatran(int MatranA[][Max],int MatranB[][Max],int MatranKQ[][Max],int DongA,int CotA,int CotB) { for(int i=0;i<DongA;i++) for(int j=0;j<CotB;j++) { MatranKQ[i][j]=0; for(int k=0;k<CotA;k++) //hoac DongB MatranKQ[i][j]+=MatranA[i][k]*MatranB[k][j]; } } void Matranchuyenvi(int MaTran[][Max],int MatranKQ[][Max],int Dong,int Cot) { for(int i=0;i<Dong;i++) for(int j=0;j<Cot;j++) MatranKQ[i][j]=MaTran[j][i]; } Tboy
| | | | | |
|