问题描述
给定两个N×M的矩阵,计算其和。其中:
N和M大于等于1且小于等于100,矩阵元素的绝对值不超过1000。
输入格式
输入数据的第一行包含两个整数N、M,表示需要相加的两个矩阵的行数和列数。接下来2N行每行包含M个数,其中前N行表示第一个矩阵,后N行表示第二个矩阵。
输出格式
你的程序需要输出一个NM的矩阵,表示两个矩阵相加的结果。注意,输出中每行的最后不应有多余的空格,否则你的程序有可能被系统认为是Presentation Error
# include<iostream>
using namespace std;
const int maxsize=100;
int main()
{
int a[maxsize][maxsize];
int b[maxsize][maxsize];
int c[maxsize][maxsize];
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cin>>b[i][j];
c[i][j]=a[i][j]+b[i][j]; //此处在输入矩阵b的基础上直接计算矩阵c的值可以少一个两重循环,减少运行时间
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(j!=m-1)
cout<<c[i][j]<<" ";
else cout<<c[i][j];
}
cout<<endl;
}
return 0;
}