Ma trận là mảng hình chữ nhật các số sắp xếp dạng hàng và cột.
Ví dụ ma trận 4×3 có 4 hàng 3 cột:
3 5 1 7 1 9 3 9 4 1 6 7
Chương trình cộng hai ma trận dùng mảng đa chiều:
Ví dụ
#include <iostream>
using namespace std;
int main() {
int r = 2, c = 4, sum[2][4], i, j;
int a[2][4] = {{1, 5, 9, 4}, {3, 2, 8, 3}};
int b[2][4] = {{6, 3, 8, 2}, {1, 5, 2, 9}};
cout << "Ma trận thứ nhất:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << a[i][j] << " ";
cout << endl;
}
cout << endl;
cout << "Ma trận thứ hai:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << b[i][j] << " ";
cout << endl;
}
cout << endl;
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j)
sum[i][j] = a[i][j] + b[i][j];
cout << "Tổng hai ma trận:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << sum[i][j] << " ";
cout << endl;
}
return 0;
}
Kết quả đầu ra
Ma trận thứ nhất: 1 5 9 4 3 2 8 3 Ma trận thứ hai: 6 3 8 2 1 5 2 9 Tổng hai ma trận: 7 8 17 6 4 7 10 12
Trong chương trình, trước tiên định nghĩa hai ma trận a và b:
int a[2][4] = {{1, 5, 9, 4}, {3, 2, 8, 3}};
int b[2][4] = {{6, 3, 8, 2}, {1, 5, 2, 9}};
cout << "Ma trận thứ nhất:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << a[i][j] << " ";
cout << endl;
}
cout << endl;
cout << "Ma trận thứ hai:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << b[i][j] << " ";
cout << endl;
}
Hai ma trận cộng nhau bằng vòng lặp lồng nhau, kết quả lưu trong sum[][]:
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j)
sum[i][j] = a[i][j] + b[i][j];
Sau khi có tổng, in ra màn hình:
cout << "Tổng hai ma trận:" << endl;
for (i = 0; i < r; ++i) {
for (j = 0; j < c; ++j)
cout << sum[i][j] << " ";
cout << endl;
}