Chuyên đề mảng 2 chiều phần 2 ppt

19 619 8
Chuyên đề mảng 2 chiều phần 2 ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 29/07/2014, 21:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan