Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Cộng,Trừ,Nhân,Chuyển vị Ma trận

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
avatar


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 26
Đến từ : TPHCM

Bài gửiTiê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



Về Đầu Trang Go down
Xem lý lịch thành viên http://taplaptrinh.forumvi.com
 

Cộng,Trừ,Nhân,Chuyển vị Ma trận

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Cần chuyển nhượng dự án nhà chung cư và liền kề gấp
» Chuyên cửa gỗ cao cấp nội thất cho văn phòng, chung cư, biệt thự
» nhượng quyền chuyển giao công nghệ làm bánh mì
» Có nên thu nhỏ âm đạo không? Tư vấn chuyên gia
» học nhanh chứng chỉ quản lý nhà nước ngạch chuyên viên thi công chức tại hà nội, HCM
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Cơ sở lập trình 1 :: Bài tập khác-