矩阵加法(二维数组)

2023-12-13 16:47:03

题目描述

输入两个?n?行?m?列的矩阵?A?和?B,输出它们的和?A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。

输入格式

第一行包含两个整数?n?和?m,表示矩阵的行数和列数?(1≤n≤100,1≤m≤100)。

接下来?n?行,每行?m?个整数,表示矩阵?A?的元素。

接下来?n?行,每行?m?个整数,表示矩阵?B?的元素。

相邻两个整数之间用单个空格隔开,每个元素均在?1~1000 之间。

输出格式

n?行,每行?m?个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。

输入输出样例

输入 #1

3 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
7 8 9

输出 #1

2 4 6
5 7 9
8 10 12

题目说了,我们这题这题要用二维数组,所以,代码如下:

#include<bits/stdc++.h>
using namespace std;
int a[105][105],n,m,b[105][105],c[105][105];//定义三个二维数组,c数组用来计算a和b的和 
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){//输入二维数组a 
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){//输入二维数组b 
		for(int j=1;j<=m;j++){
			cin>>b[i][j];
		}
	}
	for(int i=1;i<=n;i++){ //计算a,b之和 
		for(int j=1;j<=m;j++){
			c[i][j]=a[i][j]+b[i][j];
		}
	}
	for(int i=1;i<=n;i++){ //输出c 
		for(int j=1;j<=m;j++){
			cout<<c[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

又及:

我感觉她太长了,所以,我压了个行:

#include<bits/stdc++.h>
using namespace std;
int a[105][105],n,m,b[105][105],c[105][105];
int main(){cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>b[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){c[i][j]=a[i][j]+b[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cout<<c[i][j]<<" ";}cout<<endl;}return 0;}

文章来源:https://blog.csdn.net/Dream_MC_LZR/article/details/134852590
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。