Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
139,95 KB
Nội dung
351 Ktra ma trận có toàn dương ko int Ktra(int a[][100],int dong,int cot) { int flag = 1; for (int i=0; i<dong; i++) { for (int j=0;j<cot;j++) { if (a[i][j]<0) { flag=0; break; } } } return flag; } 352 Ktra 1 hàng ma trận có tăng dần hay ko int Ktra(int a[][100],int dong,int cot, int DongCanTinh) { int flag = 1; //coi nh? dòng t?ng for (int j=0;j<cot-1;j++) { if (a[DongCanTinh][j]>a[DongCanTinh][j+1]) { flag=0; //dòng ko t?ng break; } } return flag; } 353 Ktra 1 cột ma trận có giảm dần ko int Ktra(int a[][100],int dong,int cot, int CotXet) { int flag = 1; for (int i=0;i<dong-1;i++) { if (a[i][CotXet]<a[i+1][CotXet]) { flag=0; break; } } return flag; } 354 Ktra các gtrị trong ma trận có giảm dần theo cột và dòng hay ko int Ktra(int a[][100],int dong,int cot) { int flag =1; int i,j; //Ktra dong truoc for (i=0;i<dong;i++) { for (j=0; j<cot-1;j++) { if (a[i][j]<a[i][j+1]) { flag=0; break; } } } //Ktra cot sau for (j=0; j<cot;j++) { for (i=0; i<dong-1;i++) { if (a[j][i]<a[j][i+1]) { flag=0; break; } } } return flag; } 355 Liệt kê các dòng toàn âm trong ma trận các số thực void LietKe(float a[][100],int dong,int cot) { int i,j,flag; //Ktra dong truoc for (i=0;i<dong;i++) { for (flag =1,j=0; j<cot;j++) { if (a[i][j]>0) { flag=0; break; } } if (flag == 1) { printf("\nDong a[%d] toan am : ",i); for (j=0;j<cot;j++) { printf(" %.2f ",a[i][j]); } } } } 356 Liệt kê chỉ số các dòng chứa toàn giá trị chẵn void LietKe(int a[][100],int dong,int cot) { int i,j,flag; //Ktra dong truoc for (i=0;i<dong;i++) { for (flag =1,j=0; j<cot;j++) { if (a[i][j]%2!=0) { flag=0; break; } } if (flag == 1) { printf("\nDong a[%d] toan chan ",i); } } } 357 Liệt kê dòng chứa số nguyên tố void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (i=0;i<dong;i++) { for (flag =0,j=0; j<cot;j++) { if (SoNguyenTo(a[i][j])==1) { flag=1; break; } } if (flag == 1) { printf("\nDong a[%d] co chua so nguyen to ",i); } } } 358 liệt kê các dòng có chứa giá trị chẵn void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (i=0;i<dong;i++) { for (flag =0,j=0; j<cot;j++) { if (a[i][j]%2==0) { flag=1; break; } } if (flag == 1) { printf("\nDong a[%d] co chua chan ",i); } } } 359 Liệt kê các dòng có chứa giá trị âm void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (i=0;i<dong;i++) { for (flag =0,j=0; j<cot;j++) { if (a[i][j] <0) { flag=1; break; } } if (flag == 1) { printf("\nDong a[%d] co chua gia tri am ",i); } } } 360 Liệt kê các cột chứa số chính phương void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (j=0;j<cot;j++) { for (flag =0,i=0; i<dong;i++) { if (sochinhphuong(a[i][j])==1) { flag=1; break; } } if (flag == 1) { printf("\nCot a[%d] co chua so chinh phuong ",j); } } } 361 Liệt kê các dòng thỏa: có giá trị âm, dương và 0 (ptử trung hòa) void LietKe(int a[][100],int dong,int cot) { int i,j; for (i=0;i<dong;i++) { if (n>2) { int flag[3] = {0}; for (j=0; j<cot;j++) { if (a[i][j]<0) { flag[0] = 1; } else if (a[i][j]==0) { flag[1] = 1; } else if (a[i][j]>0) { flag[2] = 1; } if (flag[0]+flag[1]+flag[2]==3) { printf("\nDong a[%d] co ptu am, duong, 0",i); break; } } } } } 362 Liệt kê các dòng giảm dần void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (i=0;i<dong;i++) { for (flag =1,j=0; j<cot-1;j++) { if (a[i][j]<a[i][j+1]) { flag = 0; break; } } if (flag == 1) { printf("\nDong a[%d] giam",i); } } } 363 Liệt kê các cột tăng dần void LietKe(int a[][100],int dong,int cot) { int i,j,flag; for (j=0;j<cot;j++) { for (flag =1,i=0; i<dong-1;i++) { if (a[i][j]>a[i+1][j]) { flag = 0; break; } } if (flag == 1) { printf("\nCot a[%d] tang",j); } } } 364 Cho 2 ma trận A,B. Ktra ma trận A có là ma trận con của B ko? int KiemTra(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb) { int i,j,k,h,flag=0,s,t; for (i=0; i<donga; i++) { for (j=0;j<cota;j++) { if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0]) { for (flag=1,s=i,k=0;k<dongb;k++,s++) { for (h=0,t=j;h<cotb;h++,t++) { if (b[k][h]!=a[s][t]) { flag =0; break; } } if (flag == 0) break; else return 1; } } } } return 0; } 365 Đếm số lần xuất hiện của ma trận A trong ma trận B? int Dem(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb) { int i,j,k,h,flag=1,s,t,dem=0; for (i=0; i<donga; i++) { for (j=0;j<cota;j++) { if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0]) { for (s=i,k=0;k<dongb;k++,s++) { for (h=0,t=j;h<cotb;h++,t++) { if (b[k][h]!=a[s][t]) { flag =0; break; } } if (flag == 0) break; } if (flag == 1) { dem++; } } } } return dem; } Kĩ thuật đặt lính canh 366 Tìm số chẵn đầu tiên trong ma trận int GiaTriCanTim(int a[][100], int cot, int dong) { for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { if (a[i][j]%2==0) { return a[i][j]; } } } return -1; } 367 Tìm max trong ma trận int GiaTriCanTim(int a[][100], int cot, int dong) { int Max = a[0][0]; for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { Max = (Max>a[i][j])?Max:a[i][j]; } } return Max; } 368 Tìm giá trị lớn thứ 2 trong ma trận (max2) int GiaTriCanTim(int a[][100], int cot, int dong) { int Max=a[0][0]; for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { Max = (Max>a[i][j])?Max:a[i][j]; } } int Max2 = a[0][0]; for (i=0; i<dong; i++) { for(int j=0; j<cot; j++) { if (Max>Max2 && a[i][j]!=Max && Max2<a[i][j]) { Max2 = a[i][j]; } } } return Max2; } 369 Tìm số dương đầu tiên trong ma trận int GiaTriCanTim(int a[][100], int cot, int dong) { for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { if (a[i][j]>0) { return a[i][j]; } } } return -1; } 370 Tìm giá trị âm lớn nhất trong ma trận int AmDauTien(int a[][100], int cot, int dong) { for (int i=0; i<dong; i++) { for (int j=0; j<cot; j++) { if (a[i][j]<0) { return a[i][j]; } } } return 0; } int GiaTriCanTim(int a[][100], int cot, int dong) { int AmMax = AmDauTien(a,cot,dong); if (AmMax == 0) { return 0; } for (int i=0; i<dong;i++) { for (int j=0; j<cot; j++) { if (a[i][j]<0) { AmMax = (AmMax>a[i][j])?AmMax:a[i][j]; } } } return AmMax; } 371 Liệt kê các dòng có chứa max int GiaTriMax(int a[][100], int cot, int dong) { int Max = a[0][0]; for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { Max = (Max>a[i][j])?Max:a[i][j]; } } return Max; } void LietKe(int a[][100], int cot, int dong) { int Max = GiaTriMax(a,cot,dong); for (int i=0; i<dong;i++) { for (int j=0; j<cot; j++) { if (a[i][j]==Max) { printf("\nDong [%d] chua max: ", i); for (j=0; j<cot; j++) { printf("%4d", a[i][j]); } } } } } 372 Tìm giá trị lớn nhất trên 1 dòng void LietKe(int a[][100], int cot, int dong) { for (int i=0; i<dong;i++) { int Max = a[i][0]; for (int j=0; j<cot; j++) { Max = (Max>a[i][j])?Max:a[i][j]; } printf("\nDong %d: ",i) ; printf("Gia tri max %d",Max); } } 373 Tìm giá trị nhỏ nhất trên 1 cột void LietKe(int a[][100], int cot, int dong) { for (int i=0; i<cot;i++) { int Min = a[0][i]; for (int j=0; j<dong; j++) { Min = (Min<a[j][i])?Min:a[j][i]; } printf("\nCot %d: ",i) ; printf("Gia tri min %d",Min); } } 374 Tìm số nguyên tố đầu tiên int SoNguyenTo(int a) { if (a<=1) { return 0; } for (int i=2; i<a; i++) { if (a%i==0) { return 0; } } return 1; } int GiaTriCanTim(int a[][100], int cot, int dong) { for (int i=0; i<dong; i++) { for(int j=0; j<cot; j++) { if (SoNguyenTo(a[i][j])==1) { return a[i][j]; } } } return -1; } 375 Tìm số chẵn lớn nhất int ChanDauTien(int a[][100], int cot, int dong) [...]...{ for (int i=0; i . } } int Max2 = a[0][0]; for (i=0; i<dong; i++) { for(int j=0; j<cot; j++) { if (Max>Max2 && a[i][j]!=Max && Max2<a[i][j]) { Max2 = a[i][j]; }. flag [2] = 1; } if (flag[0]+flag[1]+flag [2] ==3) { printf("
Dong a[%d] co ptu am, duong, 0",i); break; } } } } } 3 62 Liệt kê các dòng giảm dần void LietKe(int a[][100],int. Max = (Max>a[i][j])?Max:a[i][j]; } } return Max; } 368 Tìm giá trị lớn thứ 2 trong ma trận (max2) int GiaTriCanTim(int a[][100], int cot, int dong) { int Max=a[0][0]; for (int