I. Mảng 2 chiều là gì?
Mảng 2 chiều giống như một bảng (table) có dòng (rows) và cột (columns).Ví dụ:
Mã:
int a[3][4];
II. Cấu trúc minh họa
Mã:
Cột → 0 1 2 3
Dòng 0 → [ 1] [ 2] [ 3] [ 4]
Dòng 1 → [ 5] [ 6] [ 7] [ 8]
Dòng 2 → [ 9] [10] [11] [12]
a[0][0] = 1, a[1][3] = 8, a[2][2] = 11
III. Nhập và xuất mảng 2 chiều
Ví dụ:
Mã:
#include <iostream>
using namespace std;
int main() {
int a[3][3]; // mảng 3x3
// Nhập phần tử
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << "Nhap a[" << i << "][" << j << "]: ";
cin >> a[i][j];
}
}
// Xuất mảng
cout << "\nMang vua nhap la:\n";
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
Mã:
Nhap a[0][0]: 1
...
Mang vua nhap la:
1 2 3
4 5 6
7 8 9
IV. Tính tổng từng hàng, từng cột
Tổng từng hàng:
Mã:
for (int i = 0; i < 3; i++) {
int tong = 0;
for (int j = 0; j < 3; j++)
tong += a[i][j];
cout << "Tong hang " << i << " = " << tong << endl;
}
Tổng từng cột:
Mã:
for (int j = 0; j < 3; j++) {
int tong = 0;
for (int i = 0; i < 3; i++)
tong += a[i][j];
cout << "Tong cot " << j << " = " << tong << endl;
}
V. Ma trận đối xứng
Một ma trận đối xứng là khi a[i][j] == a[j][i] với mọi i, j.Ví dụ:
Mã:
1 2 3
2 4 5
3 5 6
Kiểm tra đối xứng:
Mã:
bool doiXung = true;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] != a[j][i]) {
doiXung = false;
}
}
}
if (doiXung) cout << "La ma tran doi xung";
else cout << "Khong phai doi xung";
VI. Hình minh họa:
Mã:
a[3][3] =
+----+----+----+
| 1 | 2 | 3 |
+----+----+----+
| 4 | 5 | 6 |
+----+----+----+
| 7 | 8 | 9 |
+----+----+----+
VII. Bài tập luyện tập
Bài
Nhập vào ma trận 3x3, in ra:- Tổng các hàng
- Tổng các cột
- Tổng đường chéo chính (
a[i][i])
Bài
Kiểm tra ma trận có đối xứng hay không.Bài
(nâng cao)
Nhập vào ma trận 3x3, rồi in ra ma trận chuyển vị (hoán đổi hàng và cột).
Tiết 6 – Tóm tắt
| Kiến thức | Mô tả |
|---|---|
| Khai báo mảng 2 chiều | int a[3][4]; |
| Truy cập phần tử | a[i][j] |
| Duyệt mảng | 2 vòng for lồng nhau |
| Tính tổng | Duyệt từng hàng, cột |
| Đối xứng | a[i][j] == a[j][i] |
