Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ cộng hai ma trận bằng mảng đa chiều


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;
}