// toanmatran.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
#include "stdlib.h"
#include "math.h"
//------------------------prototype-------------
void nhapmatrana(int a[][50],int &na,int &ma);
void nhapmatranb(int b[][50],int &nb,int &mb);
void xuatmatrana(int a[][50],int na,int ma);
void xuatmatranb(int b[][50],int nb,int mb);
void tongmatran(int a[][50],int b[][50],int c[][50],int na,int ma,int nb,int mb);
void hieumatran(int a[][50],int b[][50],int c[][50],int na,int ma,int nb,int mb);
void hieumatrann(int a[][50],int b[][50],int c[][50],int na,int ma,int nb,int mb);
void tichab(int a[][50],int b[][50],int c[][50],int na,int ma,int nb,int mb);
void tichba(int a[][50],int b[][50],int c[][50],int na,int ma,int nb,int mb);
int xoamatran(int a[][50],int na,int ma,int p,int q);
int xoamatranb(int b[][50],int nb,int mb,int t,int u);
void nhanso(int a[][50],int c[][50],int na,int ma,int k);
void nhansob(int b[][50],int c[][50],int na,int ma,int k);
int ktsnt(int n);
void xuatnta(int a[][50],int na,int ma);
void xuatntb(int b[][50],int nb,int mb);
int demnta(int a[][50],int na,int ma);
int demntb(int b[][50],int nb,int mb);
void sochana(int a[][50],int na,int ma);
void sochanb(int b[][50],int nb,int mb);
int demsochana(int a[][50],int na,int ma);
int demsochanb(int b[][50],int nb,int mb);
void solea(int a[][50],int na,int ma);
void soleb(int b[][50],int nb,int mb);
int demsolea(int a[][50],int na,int ma);
int demsoleb(int b[][50],int nb,int mb);
void lonnhata(int a[][50],int na,int ma);
void lonnhatb(int b[][50],int nb,int mb);
void nhonhata(int a[][50],int na,int ma);
void nhonhatb(int b[][50],int nb,int mb);
void hoandoi(int &a,int &b);
void xapxepa(int a[][50],int na,int ma);
void xapxepa(int a[][50],int na,int ma);
void xapxepb(int b[][50],int nb,int mb);
//------------------------ham main--------------
int main()
{ int a[50][50],b[50][50],c[50][50];
int na,ma,nb,mb,p,q,t,u,k,maphim,n,ch;
printf("\\n\\n*************************Huong dan su dung");
printf("\\n\\n+Nhan a hay b de nhap ma tran thu nhat hoac ma tran thu hai");
printf("\\n\\n+Nhan Shift+a hay Shift+b de kiem tra ma tran thu nhat hoac thu hai vua nhap");
printf("\\n\\n+Nhan 1 hay 2 de sua ma tran a hoac ma tran b da nhap");
printf("\\n\\n+Nhan k de thuc hien phep toan nhan mot so voi ma tran thu nhat");
printf("\\n\\n+Nhan x de thuc hien phep toan nhan mot so voi ma tran thu hai");
printf("\\n\\n+Nhan + de thuc hien phep cong hai ma tran");
printf("\\n\\n+Nhan - de thuc hien phep tru hai ma tran");
printf("\\n\\n+Nhan * de thuc hien phep nhan hai ma tran");
printf("\\n\\n+Nhan thanh tasbar de xoa man hinh");
printf("\\n\\n+Nhan thanh Esc de thoat chuong trinh");
printf("\\n\\n___________________a[cot][hang]_______________________\\n\\n");
/*printf("\\n\\n___________________nhap du lieu_____________");
printf("\\n\\n*************Nhap ma tran thu 1");
nhapmatrana(a,na,ma);
printf("\\n\\n*************Nhap ma tran thu 2");
nhapmatranb(b,nb,mb);
printf("\\n\\n____________________________________________");
printf("\\n\\n_______kiem tra du lieu vua nhap____________");
printf("\\n\\n************Ma tran thu 1:\\n\\n");
xuatmatrana(a,na,ma);
printf("\\n\\n_So lon nhat trong ma tran A la:\\t\\t");
lonnhata(a,na,ma);
printf("\\n\\n_So nho nhat trong ma tran A la:\\t\\t");
nhonhata(a,na,ma);
printf("\\n\\n_Co %d so chan trong ma tran A la:\\t\\t",demsochana(a,na,ma));
sochana(a,na,ma);
printf("\\n\\n_Co %d so le trong ma tran A la:\\t\\t\\t",demsolea(a,na,ma));
solea(a,na,ma);
printf("\\n\\n_Co %d so nguyen to trong ma tran A la:\\t\\t",demnta(a,na,ma));
xuatnta(a,na,ma);
printf("\\n\\n*************Ma tran thu 2:\\n\\n");
xuatmatranb(b,nb,mb);
printf("\\n\\n_So lon nhat trong ma tran B la:\\t\\t");
lonnhatb(b,nb,mb);
printf("\\n\\n_So nho nhat trong ma tran B la:\\t\\t");
nhonhatb(b,nb,mb);
printf("\\n\\n_Co %d so chan trong ma tran B la:\\t\\t",demsochanb(b,nb,mb));
sochanb(b,nb,mb);
printf("\\n\\n_Co %d so le trong ma tran B la:\\t\\t\\t",demsoleb(b,nb,mb));
soleb(b,nb,mb);
printf("\\n\\n_Co %d so nguyen to trong ma tran B la:\\t\\t",demntb(b,na,mb));
xuatnta(b,nb,mb);
/*printf("\\n\\n___________________sua du lieu______________");
printf("\\n\\n*******************Ma tran thu nhat");
printf("\\n\\n_Nhap vi tri cot can thay the :\\t\\t\\t");
scanf("%d",&p);
printf("\\n\\n_Nhap vi tri hang can thay the :\\t\\t");
scanf("%d",&q);
xoamatran(a,na,ma,p,q);
printf("\\n\\n***Ma tran sau khi sua la:\\n\\n");
xuatmatrana(a,na,ma);
printf("\\n\\n_hoan doi vi tri hai phan tu");
xapxepa(a,na,ma);
xuatmatrana(a,na,ma);
printf("\\n\\n*******************Ma tran thu hai");
printf("\\n\\n_Nhap vi tri cot can thay the :\\t\\t\\t");
scanf("%d",&t);
printf("\\n\\n_Nhap vi tri hang can thay the :\\t\\t");
scanf("%d",&u);
xoamatranb(b,nb,mb,t,u);
printf("\\n\\n***Ma tran sau khi sua la:\\n\\n");
xuatmatrana(b,nb,mb);
printf("\\n\\n_hoan doi vi tri hai phan tu");
xapxepb(b,nb,mb);
xuatmatranb(b,nb,mb);
printf("\\n_____________ket qua________________________\\n\\n");
printf("\\n\\n_Tong hai ma tran la:\\n\\n");
tongmatran(a,b,c,na,ma,nb,ma);
printf("\\n\\n_Hieu hai ma tran A-B la:\\n\\n");
hieumatran(a,b,c,na,ma,nb,mb);
printf("\\n\\n_Hieu hai ma tran B-A la:\\n\\n");
hieumatrann(a,b,c,na,ma,nb,mb);
printf("\\n\\n_Tich cua hai ma tran A*B la:\\n\\n");
tichab(a,b,c,na,ma,nb,mb);
printf("\\n\\n_Tich cua hai ma tran B*A la:\\n\\n");
tichba(a,b,c,na,ma,nb,mb);
printf("\\n\\n**Nhap so can nhan voi ma tran A:\\t\\t");
scanf("%d",&k);
printf("\\n_Ma tran A sau khi nhan la:\\n\\n");
nhanso(a,c,na,ma,k);
printf("\\n\\n**Nhap so can nhan voi ma tran B:\\t\\t");
scanf("%d",&k);
printf("\\n_Ma tran B sau khi nhan la:\\n\\n");
nhansob(b,c,nb,mb,k);*/
while(!kbhit())
{ maphim=getch();
switch(maphim)
{
/*case
51://3printf("\\n\\n_Nhap vi tri cot con tro can den:\\t\\t",x);
scanf("%d",&x);
printf("\\n\\n_Nhap vi tri hang con tro can den:\\t\\t",y);
scanf("%d",&y);
system("gotoxy(x,y)");break;*/
case
66://Bprintf("\\n\\n************Ma tran thu 2:\\n\\n");
xuatmatranb(b,nb,mb);
printf("\\n\\n_So lon nhat trong ma tran B la:\\t\\t");
lonnhatb(b,nb,mb);
printf("\\n\\n_So nho nhat trong ma tran B la:\\t\\t");
nhonhatb(b,nb,mb);
printf("\\n\\n_Co %d so chan trong ma tran B la:\\t\\t",demsochanb(b,nb,mb));
sochanb(b,nb,mb);
printf("\\n\\n_Co %d so le trong ma tran B la:\\t\\t\\t",demsoleb(b,nb,mb));
soleb(b,nb,mb);
printf("\\n\\n_Co %d so nguyen to trong ma tran B la:\\t\\t",demntb(b,na,mb));
xuatnta(b,nb,mb);break;
case
65://Aprintf("\\n\\n************Ma tran thu 1:\\n\\n");
xuatmatrana(a,na,ma);
printf("\\n\\n_So lon nhat trong ma tran A la:\\t\\t");
lonnhata(a,na,ma);
printf("\\n\\n_So nho nhat trong ma tran A la:\\t\\t");
nhonhata(a,na,ma);
printf("\\n\\n_Co %d so chan trong ma tran A la:\\t\\t",demsochana(a,na,ma));
sochana(a,na,ma);
printf("\\n\\n_Co %d so le trong ma tran A la:\\t\\t\\t",demsolea(a,na,ma));
solea(a,na,ma);
printf("\\n\\n_Co %d so nguyen to trong ma tran A la:\\t\\t",demnta(a,na,ma));
xuatnta(a,na,ma);break;
case
97://aprintf("\\n\\n*************Nhap ma tran thu 1");
nhapmatrana(a,na,ma);break;
case
98://bprintf("\\n\\n*************Nhap ma tran thu 2");
nhapmatranb(b,nb,mb);break;
case
49://1printf("\\n\\n____________________________________________");
printf("\\n\\n*******************Ma tran thu nhat");
printf("\\n\\n_Nhap vi tri cot can thay the :\\t\\t\\t");
scanf("%d",&p);
printf("\\n\\n_Nhap vi tri hang can thay the :\\t\\t");
scanf("%d",&q);
xoamatran(a,na,ma,p,q);
printf("\\n\\n***Ma tran sau khi sua la:\\n\\n");
xuatmatrana(a,na,ma);
printf("\\n\\n_hoan doi vi tri hai phan tu");
xapxepa(a,na,ma);
xuatmatrana(a,na,ma);break;
case
50://2printf("\\n\\n____________________________________________");
printf("\\n\\n*******************Ma tran thu hai");
printf("\\n\\n_Nhap vi tri cot can thay the :\\t\\t\\t");
scanf("%d",&t);
printf("\\n\\n_Nhap vi tri hang can thay the :\\t\\t");
scanf("%d",&u);
xoamatranb(b,nb,mb,t,u);
printf("\\n\\n***Ma tran sau khi sua la:\\n\\n");
xuatmatrana(b,nb,mb);
printf("\\n\\n_hoan doi vi tri hai phan tu");
xapxepb(b,nb,mb);
xuatmatranb(b,nb,mb);break;
case
43://+printf("\\n\\n____________________________________________");
printf("\\n\\n_Tong hai ma tran la:\\n\\n");
tongmatran(a,b,c,na,ma,nb,ma);break;
case
42://*printf("\\n\\n____________________________________________");
printf("\\n\\n_Tich cua hai ma tran A*B la:\\n\\n");
tichab(a,b,c,na,ma,nb,mb);
printf("\\n\\n_Tich cua hai ma tran B*A la:\\n\\n");
tichba(a,b,c,na,ma,nb,mb);break;
case
45://-printf("\\n\\n____________________________________________");
printf("\\n\\n_Hieu hai ma tran A-B la:\\n\\n");
hieumatran(a,b,c,na,ma,nb,mb);
printf("\\n\\n_Hieu hai ma tran B-A la:\\n\\n");
hieumatrann(a,b,c,na,ma,nb,mb);break;
case
107://kprintf("\\n\\n____________________________________________");
printf("\\n\\n**Nhap so can nhan voi ma tran A:\\t\\t");
scanf("%d",&k);
printf("\\n_Ma tran A sau khi nhan la:\\n\\n");
nhanso(a,c,na,ma,k);break;
case
120://xprintf("\\n\\n**Nhap so can nhan voi ma tran B:\\t\\t");
scanf("%d",&k);
printf("\\n_Ma tran B sau khi nhan la:\\n\\n");
nhansob(b,c,nb,mb,k);break;
case
27://Escreturn 0;
case
32://Spacesystem("cls");
printf("\\n\\n*************************Huong dan su dung");
printf("\\n\\n+Nhan a hay b de nhap ma tran thu nhat hoac ma tran thu hai");
printf("\\n\\n+Nhan Shift+a hay Shift+b de kiem tra ma tran thu nhat hoac thu hai vua nhap");
printf("\\n\\n+Nhan 1 hay 2 de sua ma tran a hoac ma tran b da nhap");
printf("\\n\\n+Nhan k de thuc hien phep toan nhan mot so voi ma tran thu nhat");
printf("\\n\\n+Nhan x de thuc hien phep toan nhan mot so voi ma tran thu hai");
printf("\\n\\n+Nhan + de thuc hien phep cong hai ma tran");
printf("\\n\\n+Nhan - de thuc hien phep tru hai ma tran");
printf("\\n\\n+Nhan * de thuc hien phep nhan hai ma tran");
printf("\\n\\n+Nhan thanh tasbar de xoa man hinh");
printf("\\n\\n+Nhan thanh Esc de thoat chuong trinh");
printf("\\n\\n___________________a[cot][hang]_______________________\\n\\n");break;
case 99:
printf("Nhap N:");
scanf("%d",&n);
while(n>0)
{ n--;
putch(7);
}
while(kbhit())
{ ch=getch();
putch(ch);
}
}
}
return 0;
}
//------------------------ham nhap ma tran------
//ham nhap ma tran thu 1***********************
void nhapmatrana(int a[][50],int &na,int &ma)
{
printf("\\n\\n_Nhap so hang:\\t\\t\\t\\t\\t",ma);
scanf("%d",&ma);
printf("\\n\\n_Nhap so cot:\\t\\t\\t\\t\\t",na);
scanf("%d",&na);
for(int j=0;j