Loading Now

Mảng 2 chiều trong C++

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

Contact