Code C\C++: Bài tập ôn tập 1 - mảng 2 chiều


/* Bai tap on tap 1:
Viet cac ham:
1. Nhap vao mot ma tran vuong so nguyen co kich thuoc n (4<n<7)
2. Dem so phan tu la so chia het cho 3 va 5
3. Tinh tong theo dong, in ket qua
4. Sap xep tang dan theo dong.
*/
#include<stdio.h>
#include<conio.h>

// mang
#define Max 7
#define Min 4

int m[Max][Max],n;

// Nhap
void Nhap(){
do{
 printf("\n Nhap n:");   scanf("%d",&n);
 if (n<Min||n>Max)
printf("\n Nhap lai n");
 }while (n<Min||n>Max);
 for(int i=0;i<n;i++)
  for(int j=0;j<n;j++)
  {
printf("\n m[%d][%d]=",i,j);
scanf("%d",&m[i][j]);
  }

}

// In
void InMT(){
printf("\n In ma tran: \n");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
printf("%d\t",m[i][j]);
printf("\n");
}

}
// dem so chia het cho 3 va 5

int Dem(){
int dem=0;
for(int i=0;i<n;i++)
 for(int j=0;j<n;j++)
if(m[i][j]%3==0&&m[i][j]%5==0) dem++;
return dem;
}
// Tong dong
void TongDong(){
for(int j=0;j<n;j++)
{
int tong=0;
 for(int i=0;i<n;i++)

tong=tong+m[j][i];
 printf("\n Tong dong %d: %d ",j,tong);

}
}
  // Sap xep dong tang dan
  void SapXepDong(){
for(int j=0;j<n;j++)
{
for (int i=0;i<n-1;i++)
 for(int k=i+1;k<n;k++)
if(m[j][i]>m[j][k]) {int t=m[j][i];m[j][i]=m[j][k];m[j][k]=t; }
}
  }

  // main
  int main(){
Nhap();
InMT();
printf("\n Dem so chia het cho 3 va 5: %d",Dem());
TongDong();
SapXepDong();
   InMT();
getch();
return 0;
  }