问题及代码:
Problem B: 类重载实现矩阵加法
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 296 Solved: 144
[ Submit][ Status][ Web Board]
Description
编写矩阵类Matrix,实现两个2x3矩阵相加。主函数已给定。
Input
两个矩阵的元素值
Output
两个矩阵相加的结果
Sample Input
1 2 34 5 61 2 34 5 6
Sample Output
2 4 68 10 12
HINT
以下代码自动添加到程序末尾
请勿一起提交
请用C++方式提交
int main()
{
Matrix a,b,c;
a.input();
b.input();
c=a+b;
c.display();
return 0;
}
#include <iostream>
using namespace std;
class Matrix
{
public:
Matrix();
void input();
void display();
friend Matrix operator +(Matrix &,Matrix &);
private:
int mat[2][3];
};
Matrix::Matrix()
{
int i,j;
for(i=0; i<2; i++)
for(j=0; j<3; j++)
mat[i][j]=0;
}
Matrix operator +(Matrix &m1,Matrix &m2)
{
Matrix m;
int i,j;
for(i=0; i<2; i++)
for(j=0; j<3; j++)
m.mat[i][j]=m1.mat[i][j]+m2.mat[i][j];
return m;
}
void Matrix::input()
{
int i,j;
for(i=0; i<2; i++)
for(j=0; j<3; j++)
cin>>mat[i][j];
}
void Matrix::display()
{
int i,j;
for(i=0; i<2; ++i)
{
for(j=0; j<2; ++j)
cout<<mat[i][j]<<" ";
cout<<mat[i][2];
cout<<endl;
}
}
int main()
{
Matrix a,b,c;
a.input();
b.input();
c=a+b;
c.display();
return 0;
}
运行结果: