Mảng 2 chiều trong C++
Bài tập
Cho một mảng 2 chiều các số nguyên n
hàng m
cột arr
được nhập từ bàn phím. Bạn hãy viết chương trình tính tổng các phần tử trong mảng arr
.
Ví dụ nếu bạn nhập n = 2, m = 3, arr = [[5, 7, 3], [1, 2, 4]]
như bên dưới:
2 3
5 7 3
1 2 4
Thì màn hình sẽ hiển thị ra:
22
Lý thuyết
Mảng 2 chiều hay còn được gọi là ma trận là một mảng các mảng 1 chiều. Mảng 2 chiều giống như một cái bảng, mảng 1 chiều là các dòng trong bảng và các phần tử của mảng là các ô.
Cú pháp để khai báo mảng 2 chiều với 3 hàng và 5 cột:
int arr[3][5];
Ví dụ chương trình nhập vào một mảng 2 chiều và in mảng 2 chiều này ra màn hình:
#include<iostream>
using namespace std;
int main() {
int arr[100][100];
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> arr[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << "arr[" << i << "][" << j << "] = " << arr[i][j] << " " << endl;
}
}
return 0;
}
Nếu bạn nhập
3 4
3 4 8 2
5 6 4 9
2 3 8 1
Thì chương trình sẽ hiển thị ra:
arr[0][0] = 3
arr[0][1] = 4
arr[0][2] = 8
arr[0][3] = 2
arr[1][0] = 5
arr[1][1] = 6
arr[1][2] = 4
arr[1][3] = 9
arr[2][0] = 2
arr[2][1] = 3
arr[2][2] = 8
arr[2][3] = 1
Có thể thấy cách sử dụng mảng 2 chiều rất đơn giản, bạn hãy quay lại phần bài tập và làm thử.
Nếu bạn chưa làm được bài này thì có thể xem hướng dẫn bên dưới:
Hướng dẫn
Code mẫu:
#include<iostream>
using namespace std;
int main() {
int arr[100][100];
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> arr[i][j];
}
}
int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
sum += arr[i][j];
}
}
cout << sum;
return 0;
}
Post Comment