Uploaded by tai chung

35f51865ed214901d631d5f5416d8def

advertisement
Bài 2: MẢNG 2 CHIỀU
1
Mảng 2 chiều
 Là dãy các phần tử có cùng kiểu dữ liệu, có
tính thứ tự
 Mỗi phần tử xác định qua 2 chỉ số
 Khai báo
Kiểu Tên mảng[số dòng tối đa][số cột tối đa];
2
Mảng 2 chiều
 Mỗi phần tử của mảng là một mảng khác
 VD: Ma trận
2
4
0
5
1
3
8
6
9
2
7
4
3
Ví dụ
 Mảng các số nguyên
2
4
0
5
1
3
8
6
9
2
7
4
 Mảng các số thực
2.1
4.4
0
5
1
3.3
8
6
9.9
2
7.2
4
4
Mảng 2 chiều
 VD: int a[5][5];
Cột 0
1
2
3
4
Hàng 0
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]
1
a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]
2
a[2][0] a[2][1] a[2][2] a[2][3] a[2][4]
3
a[3][0] a[3][1] a[3][2] a[3][3] a[3][4]
4
a[4][0] a[4][1] a[4][2] a[4][3] a[4][4]
5
Mảng 2 chiều
 Truy xuất phần tử của mảng
Tên_mảng[chỉ số dòng][chỉ số cột]
 Truyền mảng 2 chiều cho hàm
Kiểu Tên mảng[ ][số pt chiều 2]
6
Các thao tác
 Nhập, xuất mảng
 Tính tổng
 TBC toàn bộ mảng
 Tính tổng/đếm/TBC/Liệt kê các phần tử thỏa
điều kiện
 Xử lý 1 dòng/cột trong mảng
 Tính tổng dòng i (i tùy ý do người dùng chọn)
 Tìm phần tử thỏa điều kiện trên dòng i
…
7
Nhập, xuất mảng 2 chiều
 VD: Nhập ma trận gồm m dòng, n cột
void NhapMang(int a[][100], int &d, int &c)
{
//nhập số dòng, số cột
printf(“Nhap so dong va cot”);
scanf(“%d%d”, &d, &c);
//nhập giá trị cho từng phần tử trong mảng 2 chiều
for(int i=0; i<d; i++)
for(int j=0; j<c; j++)
{
printf(“a[%d][%d]=“,I,j );
scanf(“%d”, &a[i][j]);
}
}
8
Xuất mảng
9
Bài tập
 Sách giáo trình/ trang 40
 Viết chương trình thực hiện
 Nhập ma trận gồm d dòng và c cột (d, c nhập
từ bàn phím
 Xuất ma trận
 Tính tổng các phần tử của ma trân
 Tính TBC
 Tính TBC các phần tử dương
 Tìm phần tử lớn nhất
10
Mảng vuông (ma trận vuông)
 Ma trận vuông cấp n là mảng 2 chiều có số dòng = số
cột = n.
1. Sinh ma trận vuông cấp n chứa số nguyên
2. Xuất ma trận
3. Liệt kê các phần tử trên đường chéo chính/ chéo phụ
4. Tính tổng phần tử nằm trên dòng thứ k (k nhập)
5. Tính tổng các phần tử nằm trên đường biên
6. Tính tổng các phần tử trên mỗi dòng
7. Xuất ra các dòng có tổng lớn nhất
11
12
13
Download