Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đă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
Tboy


Nam 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

Cộng,Trừ,Nhân,Chuyển vị Ma trận Empty
Bài gửiTiêu đề: Cộng,Trừ,Nhân,Chuyển vị Ma trận   Cộng,Trừ,Nhân,Chuyển vị Ma trận EmptyWed Jan 26, 2011 9:26 pm

Cộng,Trừ,Nhân,Chuyển vị Ma trận Titleb10 Wed Jan 26, 2011 9:26 pm » Cộng,Trừ,Nhân,Chuyển vị Ma trận Cộng,Trừ,Nhân,Chuyển vị Ma trận Titleb13
Đề:
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

Cộng,Trừ,Nhân,Chuyển vị Ma trận Border10 Cộng,Trừ,Nhân,Chuyển vị Ma trận Border14
Về Đầu Trang Go down
https://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

-
» Quay ma trận 90 độ sang trái/phải
» [Giải Trí] Cứu công chúa
» Bảng nhân -(Câu lệnh lặp FOR-WHILE)
» [Giải trí] Bao Công xử án tôn ngộ không (Update)
» [Giải Trí] Chuyện.....Xăng
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-