C++程序 矩阵加法

C++程序 矩阵加法

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

C++程序 矩阵加法

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

迭代矩阵 (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 2
4 4 4 4
6 6 6 6
8 8 8 8

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程