Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Ho ten: Thai Minh Khoa
- MSSV: DH51400548
- Lop: D14_TH02
- */
- /*
- #include "iostream"
- #include "conio.h"
- using namespace std;
- const int MAX = 10;
- struct MATRIX {
- int data[MAX][MAX];
- int m,n;
- };
- int getRand(int min, int max); //Phat sinh so ngau nhien tu min den max
- void NhapMTAuto(MATRIX &mt); //Tu dong phat sinh ngau nhien cac phan tu trong ma tran cap m x n
- void XuatMT(MATRIX mt);
- int MaxDong5(MATRIX mt, int k); //Tim phan tu lon nhat chia het cho 5 cua dong k
- int MinCot2(MATRIX mt, int x); //Tim phan tu nho nhat chia het cho 2 cua cot x
- int TongMax5(MATRIX mt); // Tinh tong cac phan tu lon nhat chia het cho 5 cua tung dong
- int TongMin2(MATRIX mt); // Tinh tong cac phan tu nho nhat chia het cho 2 cua tung cot
- int MaxDong(MATRIX mt); //Tim dong co tong lon nhat
- int MinCot(MATRIX mt); //Tim cot co tong nho nhat
- void main() {
- MATRIX mt;
- NhapMTAuto(mt);
- XuatMT(mt);
- int k, x;
- cout<<"\nNhap dong k: ";
- cin>>k;
- cout<<"\nPhan tu chia het cho 5 lon nhat dong "<<k<<": "<<MaxDong5(mt,k);
- cout<<"\nNhap cot x: ";
- cin>>x;
- cout<<"\nPhan tu chia het cho 2 nho nhat cot "<<x<<": "<<MinCot2(mt,x);
- cout<<"\n\nTong cac phan tu lon nhat chia het cho 5: "<<TongMax5(mt);
- cout<<"\nTong cac phan tu nho nhat chia het cho 2: "<<TongMin2(mt);
- cout<<"\n\nDong co tong lon nhat la: "<<MaxDong(mt);
- cout<<"\nCot co tong nho nhat la: "<<MinCot(mt);
- _getch();
- }
- //SINH VIEN DINH NGHIA CAC HAM O DAY
- int MaxDong5(MATRIX mt, int k)
- { //Tim phan tu lon nhat chia het cho 5 cua dong k
- int max=0;
- int flag=0;
- for(int i=0;i<mt.m;i++)
- {
- if(mt.data[k][i]%5==0)
- {
- if(flag==0)
- {
- max=mt.data[k][i];
- flag=1;
- }
- else if(mt.data[k][i]>max)
- {
- max=mt.data[k][i];
- }
- }
- }
- return max;
- }
- int MinCot2(MATRIX mt, int x)
- { //Tim phan tu nho nhat chia het cho 2 cua cot x
- int min=0;
- int flag=0;
- for(int i=0;i<mt.n;i++)
- {
- if(mt.data[i][x]%2==0)
- {
- if(flag==0)
- {
- min=mt.data[i][x];
- flag=1;
- }
- else if(mt.data[i][x]<min)
- {
- min=mt.data[i][x];
- }
- }
- }
- return min;
- }
- int TongMax5(MATRIX mt)
- { // Tinh tong cac phan tu lon nhat chia het cho 5 cua tung dong
- int tong=0;
- for(int i=0;i<mt.n;i++)
- {
- tong=tong+MaxDong5(mt,i);
- }
- return tong;
- }
- int TongMin2(MATRIX mt)
- { // Tinh tong cac phan tu nho nhat chia het cho 2 cua tung cot
- int tong=0;
- for(int i=0;i<mt.m;i++)
- {
- tong=tong+MinCot2(mt,i);
- }
- return tong;
- }
- int MaxDong(MATRIX mt)
- { //Tim dong co tong lon nhat
- int tong[MAX];
- for(int i=0;i<mt.n;i++)
- {
- tong[i]=0;
- for(int j=0;j<mt.n;j++)
- {
- tong[i]=tong[i]+mt.data[j][i];
- }
- }
- int max=tong[0];
- int vitri=-1;
- for(int a=0;a<mt.n;a++)
- {
- if(tong[a]>max)
- {
- max=tong[a];
- vitri=a;
- }
- }
- return vitri;
- }
- int MinCot(MATRIX mt)
- { //Tim cot co tong nho nhat
- int tong[MAX];
- for(int i=0;i<mt.m;i++)
- {
- tong[i]=0;
- for(int j=0;j<mt.n;j++)
- {
- tong[i]=tong[i]+mt.data[j][i];
- }
- }
- int min=tong[0];
- int vitri=-1;
- for(int a=0;a<mt.m;a++)
- {
- if(tong[a]<min)
- {
- min=tong[a];
- vitri=a;
- }
- }
- return vitri;
- }
- //SINH VIEN KHONG CHINH SUA CAC HAM DUOI DAY
- void NhapMTAuto(MATRIX &mt){
- cout<<"\nNhap so dong: ";
- cin>>mt.n;
- cout<<"\nNhap so cot: ";
- cin>>mt.m;
- for(int i=0; i<mt.n; i++)
- for(int j=0; j<mt.m; j++)
- mt.data[i][j] = getRand(0, 20);
- }
- void XuatMT(MATRIX matran) {
- cout<<endl;
- for(int i=0; i<matran.n; i++) {
- for(int j=0; j<matran.m; j++)
- cout<<"\t"<<matran.data[i][j];
- cout<<endl;
- }
- }
- int getRand(int min, int max) {
- int num = (int) rand() % (max - min) + min;
- return num;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement