#include // Su dung ham printf va scanf #include // su dung getch() #include // su dung ham tinh toan de tinh cac bai toan trong mang 2 chieu //==========Ket thuc khai bao thu vien =======================// //===============Ham con================================// /* Bai tap tinh toan tren mang 2 chieu goi chung la ma tran (matrix 1-2-3) Input: Nhap mang 2 chieu doi da 50x50 so nguyen co N hang va M cot, a[NxM] Output: Lam nhung tac vu sau: - Tinh tong toan bo matrix. - Tinh tong cua tung dong, tinh tong cua tung cot. - Tinh tong duong cheo cua ma tran neu la ma tran vuong - Tim trong ma tran phan tu nao la so nguyen to. - Gia su co ma tran filter kich thuoc mx1 toan so 1: k[1,1,1,1,1.....,1]. Nhan ma tran a[NxM]*k[Mx1] = b[Nx1]. Tinh b. */ //=======Nhap 2 kich thuoc chieu cua mang =========================// void NhapKichThuocMang( int &n, int &m ) { n = 0 ; m =0 ; // khoi tao n va m gia tri la 0 de dieu kien while dung ngay tu dau while ( n<= 0 || m <= 0 ) // Dieu kien de phai nhap n va m la ca 2 so deu > 0 { if( n<=0 ) // trong truong hop n <= 0 thi bat nhap lai n { printf("\nMoi ban nhap n, chieu ngang cua ma tran: " ); scanf("%d",&n); } else // trong truongf hop m <= 0 thi bat nhap lai m { printf("\nMoi ban nhap m, chieu doc cua ma tran: " ); scanf("%d",&m); } } } //===============Ham nhap mang 2 chieu voi n m la hang va cot cho truoc=======================// void NhapMang2Chieu( int a[50][50], int n, int m ) { for( int i = 0; i < n ; i++ ) // i di theo n, duyet theo tung hang { for ( int j = 0 ; j< m; j++) // j theo m nen trong moi hang se duyet tung cot trong hang do { printf("\nMoi ban nhap a[%d][%d]: ",i,j); scanf("%d", &a[i][j]); } } } //==============================ham xuat ma tran ===============================// void XuatMang2Chieu( int a[50][50], int n, int m ) { printf("\n Noi dung ma tran :\n"); for (int i = 0;i < m; i ++)// i di theo n, duyet theo tung hang { for ( int j = 0 ; j< n; j++)// j theo m nen trong moi hang se duyet tung cot trong hang do printf("\t%d",a[i][j]); printf ("\n"); } } void XuatTongTheoDongvaCot( int a[50][50], int n , int m ) { int S; // Tinh theo COT for( int i = 0 ; i < n ; i++ ) { /// tuong ung voi tung dong. Se cong tong tat ca gia tri trong dong do S = 0; // Day la bien Tong cua dong thu i tuong ung // bien S dat trong for de moi dong tuong ung se reset S=0 lai tu dau for( int j = 0 ; j < m ; j++ ) // duyet tung phan tu trong day i { S= S + a[i][j]; // cong don vao bien S } /// Cho nay da ket thuc qua trinh tinh tong dong thu i printf("\nTong cua dong %d la: %d",i , S); } //void XuatTongTheoDongvaCot( int a[50][50], int n , int m ) // Tinh theo hang. for( int j = 0 ; j < n ; j++ ) { /// tuong ung voi tung dong. Se cong tong tat ca gia tri trong dong do S = 0; // Day la bien Tong cua dong thu i tuong ung // bien S dat trong for de moi dong tuong ung se reset S=0 lai tu dau for( int i = 0 ; i< m ; i++ ) // duyet tung phan tu trong day i { S= S + a[i][j]; // cong don vao bien S } /// Cho nay da ket thuc qua trinh tinh tong dong thu i printf("\nTong cua dong %d la: %d",j , S); } int Q=0; for(int i=0 ; i