Dữ liệu kiểm mảng: Xử lý mảng 2 chiều trong C\C++
Bài tập ví dụ: xử lý mảng 2 chiều
- Nhập vào ma trận số nguyên kích thức n (với 7>n>4, nhập vào từ bàn phím)
- In ma trận
- Tính tổng các phần tử
- Ðếm số chẵn trong ma trận
- Tìm max.
#include<iostream.h>
#include<conio.h>
#define Max 7
#define Min 4
int a[Max][Max];int n;
// ham nhap
void Nhap(){
// nhap n
cout<<"\n Nhap kich thuoc ma tran:\n";
do{
cout<<"\n n= ";
cin>>n;
if(n<Min||n>Max)
cout<<"\n Nhap lai n";
}while(n<Min||n>Max);
// nhap ma tran
cout<<"\n Nhap ma tran:\n";
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++) {
cout<<"\n a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
}
// In ma tran
void InMT(){
cout<<"\n In ma tran: \n";
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++)
cout<<a[i][j]<<"\t"; cout<<"\n";
}
}
// Tinh tong
int Tong(){
int s=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
s=s+a[i][j];
return s;
}
// Dem so chan
int DemSoChan(){
int dem=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if (a[i][j]%2==0) dem++;
return dem;
}
// Tim max
int _Max(){
int max=a[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(max<a[i][j])
max=a[i][j];
return max;
}
// ham main
int main(){
Nhap();
InMT();
cout<<"\n Tong= "<<Tong();
cout<<"\n Dem so chan = "<<DemSoChan();
cout<<"\n Max= "<<_Max();
getch();
return 0;
}
BÀI TẬP ĐỀ NGHỊ
Viết các hàm thực hiện:
- Nhập vào 2 ma trận vuông chứa số nguyên A,B có kích thước n (7>n>3)
- Tính ma trận tổng C=A+B, In ma trận C
- Tính tổng đường chéo chính của ma trận C
- In ra vị trí các số nguyên tố có trong ma trận C
- Sắp xếp hàng của ma trận C theo thứ tự tăng dần
- Tính tổng các cột của ma trận C
- Kiểm tra tính đối xứng của ma trận C.
0 nhận xét:
Đăng nhận xét