/*
*copyright (c)2015,烟台大学计算机学院
*All rights reserved
*文件名称:project.cpp
*作者:孙春红
*完成日期:2015年6月24日
*版本号:v1.0
*
*问题描述:
有两个矩阵a和b,均为2行3列。求两个矩阵之和。
重载运算符“+”,使之能用于矩阵相加(如c=a+b)。
重载流插入运算符“<<”和流提取运算符“>>”,
使之能用于该矩阵的输入和输出。
*输入描述:两个2行3列矩阵
*程序输出:矩阵之和
*/
#include <iostream>
using namespace std;
class Matrix
{
public:
Matrix();
friend Matrix operator+(Matrix &,Matrix &);
friend ostream& operator<<(ostream&,Matrix&);
friend istream& operator>>(istream&,Matrix&);
private:
int mat[2][3];
};
Matrix::Matrix(){}
Matrix operator+(Matrix &m1,Matrix&m2)
{
Matrix m;
for (int i=0;i<2;i++)
for (int j=0;j<3;j++)
{
m.mat[i][j]=m1.mat[i][j]+m2.mat[i][j];
}
return m;
}
istream& operator>>(istream&in,Matrix&m)
{
for (int i=0;i<2;i++)
for (int j=0;j<3;j++)
{
cin>>m.mat[i][j];
}
return in;
}
ostream&operator<<(ostream&out,Matrix&m)
{
for (int i=0;i<2;i++)
{
for (int j=0;j<2;j++)
{
cout<<m.mat[i][j]<<" ";
}
cout<<m.mat[i][2]<<endl;//注意输出方式!!
}
return out;
}
int main()
{
Matrix a,b,c;
cin>>a;
cin>>b;
c=a+b;
cout<<c<<endl;
return 0;
}
OJ积累--矩形求和
最新推荐文章于 2021-09-30 12:26:01 发布