ZJYYC1192. 矩阵的加法(题解)

ZJYYC1192. 矩阵的加法(题解)

题目描述
在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。
矩阵是线性代数学中的常见工具;在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。
矩阵加法运算:两个矩阵的加是矩阵中对应的元素相加,相加的前提是:两个矩阵要是通行矩阵,即具有相同的行和列数。
img

输入两个n行m列的矩阵A和B,输出它们的和A+B。
输入描述
测试样例由多组测试数据组成。
每个样例包含若干行,第一行输入两个整数
n 和 m;接下来 n 行,每行输入 m 个整数a i j ,表示矩阵A;再下来 n 行,每行输入 m 个整数a i j,表示矩阵B;1≤n,m≤100,0≤a(i) ≤100

输出描述
对于每个样例,输出加法运算之后的矩阵。每个样例之后输出一个空行。
输入样例

测试样例1
输入
3 3
12 3 -5
1 -9 0
3 6 8
1 8 9
6 5 4
3 2 1
输出
13 11 4
7 -4 4
6 8 9

关于我的思路:
使用c++自带的STL容器中的vector容器定义三个数组,使用vector封装(简写为mA,mB,ret)
然后遍历数组,输入mA,mB;

然后将result数组的值赋为mA和mB的和,之后输出这个数组,为了避免格式错误,我使用了三目运算符,确保每个元素后面输出一个空格,然后换行

以下是代码:

#include <iostream>  
#include <vector>  

using namespace std;

int main() {
    int n, m;
    while (cin >> n >> m) {
        vector<vector<int>> matrixA(n, vector<int>(m));
        vector<vector<int>> matrixB(n, vector<int>(m));
        vector<vector<int>> result(n, vector<int>(m));
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                cin >> matrixA[i][j];
            }
        }
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                cin >> matrixB[i][j];
            }
        } 
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                result[i][j] = matrixA[i][j] + matrixB[i][j];
            }
        }
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                cout << result[i][j] << (j < m - 1 ? " " : "\n");
            }
        }
        cout << endl; 
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值