Bài tập mảng nhiều chiều có đáp án

Bài tập mảng nhiều chiều có đáp án

Nội dung Text: Chuyên đề mảng 2 chiều phần 2

  1. 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
  2. { if (a[i][j]
  3. for (flag =1,j=0; j
  4. 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
  5. } 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
  6. 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=cotb && a[i][j]==b[0][0]) { for (flag=1,s=i,k=0;k
  7. } } 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
  8. } } int Max2 = a[0][0]; for (i=0; i
  9. for (int i=0; i
  10. } 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
  11. { for (int i=0; i
  12. } for (int i=0; i
  13. { if (SoNguyenTo(a[i][j])==1) { SoNguyenToMax = (SoNguyenToMax>a[i][j])?SoNguyenToMax:a[i][j]; } } } return SoNguyenToMax; } 378 Tìm 1 chữ số xuất hiện nhiều nhất void ChuSo(int n, int b[]) { int DonVi; n = abs(n); do { DonVi = n%10; b[DonVi]++; n=n/10; } while (n>0); } int GiaTriCanTim(int a[][100], int cot, int dong) { int b[10] = {0}; for (int i=0; i
  14. dem ++ ; } else if (Min > a[i][j]) { Min = a[i][j]; dem = 1; } } } return dem; } 380 Đếm số lượng chẵn nhỏ nhất int GiaTriCanTim(int a[][100], int cot, int dong) { int dem = 0; int Min = a[0][0]; for (int i=0; i
  15. flag[k][h] = 1; Dem++; } } } } if (Dem > Dem1) { Dem1 = Dem; GiaTri = a[i][j]; Dem = 0; } } } } return GiaTri; } 382 Tìm số chính phương lớn nhất int SoChinhPhuong(int n) { int a = sqrt (n); if (a*a == n) { return 1; } return 0; } int SoChinhPhuongDauTien(int a[][100], int cot, int dong) { for (int i=0; i
  16. { SoChinhPhuongMax = (SoChinhPhuongMax>a[i][j])?SoChinhPhuongMax:a[i][j]; } } } return SoChinhPhuongMax; } 383 Tìm số hòan thiện nhỏ nhất int sohoanthien(int n) { int tong=0; for (int i=1 ; i
  17. 384 Tìm các chữ số xuất hiện nhiều nhất trong ma trận void ChuSo(int n, int b[]) { int DonVi; n = abs(n); do { DonVi = n%10; b[DonVi]++; n=n/10; } while (n>0); } void GiaTriCanTim(int a[][100], int cot, int dong) { int b[10] = {0}; for (int i=0; i
  18. { b[i] = tong(a[i],cot); } //Tong Max int Max = b[0]; for (i=1; ib[i])?Max:b[i]; } //Liet ke Tong Max for (i = 0; i< dong ;i++) { if (Max == b[i]) { printf("\nDong %d co tong ptu lon nhat la %d", i,Max); } } } 386 Liệt kê các cột có tổng nhỏ nhất void LietKe(int a[][100], int cot, int dong) { int b[100] = {0}; for (int i=0; i
  19. int Max = dem[0]; for (i=1; idem[i])?Max:dem[i]; for (i = 0; i< dong ;i++) if (Max == dem[i]) printf("\nDong %d co so chan nhieu nhat la %d", i,Max); } 388 Liệt kê các dòng có nhiều số nguyên tố nhất int SoNguyenTo(int a) { if (a