C++程序 矩阵加法

来源:这里教程网 时间:2026-02-16 16:08:25 作者:

C++程序 矩阵加法

给定两个 N x M 矩阵 。找到一个 N x M 矩阵作为给定矩阵的和,每个值是对应元素的值之和。

方法: 以下是解决问题的思路。

迭代矩阵 (i, j) 的每个单元格,添加两个矩阵的对应值,并将其存储在单个矩阵中,即结果矩阵。

按以下步骤执行:

初始化结果矩阵 res [N] [M]。以每一行作为循环计数器 i ,每次迭代中:以列作为循环计数器 j ,每次迭代中:添加两个矩阵的索引 i,j 的值,并将其存储在 res [i] [j] 中。返回 res。

上述方法的实现如下:

// C++程序实现两个矩阵的加法#include <bits/stdc++.h>using namespace std;#define N 4  // 这个函数将 A[][] 和 B[][] 相加,// 并将结果存储在 C[][] 中void add(int A[][N], int B[][N],          int C[][N]) {     int i, j;     for (i = 0; i < N; i++)         for (j = 0; j < N; j++)             C[i][j] = A[i][j] + B[i][j]; }  // 驱动程序int main() {     int A[N][N] = {{1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};      int B[N][N] = {{1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};      // 存储结果     int C[N][N];     int i, j;     add(A, B, C);      cout << "Result matrix is " <<              endl;     for (i = 0; i < N; i++)     {         for (j = 0; j < N; j++)         cout << C[i][j] << " ";         cout << endl;    }      return 0; }

输出:

结果矩阵是2 2 2 24 4 4 46 6 6 68 8 8 8

该程序可以扩展到矩形矩阵。下面的文章可能有助于扩展此程序:如何在 C 中将 2D 数组作为参数传递? 上述程序的时间复杂度为 O(n 2 )。 上述问题的辅助空间为 O(n 2 )。

相关推荐