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  

Hãy sử dụng FireFox để web hiển thị tốt hơn!


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 : 25
Đế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
» nhượng quyền chuyển giao công nghệ làm bánh mì
» Cần chuyển nhượng nhà thuốc GPP, tại số 29 Đặng Tiến Đông, quận Đống Đa, Hà Nội.
» chuyển nhà trọn gói MAI LINH giá rẻ
» Câu chuyện tranh chấp, khiếu kiện về phí dịch vụ chung cư có lẽ kg có lời giải
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-