我的程序:
/*
* 程序的版权和版本声明部分:
* 作 者:烟台大学计算机学院学生:段元晋
* 完成日期:2014年5月
* 版 本 号:vc++6.0
* 对任务及求解方法的描述部分:
* 输入描述:两个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()
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
mat[i][j]=0;
}
}
Matrix operator+(Matrix &c1,Matrix &c2)
{
Matrix c;
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
c.mat[i][j]=c1.mat[i][j]+c2.mat[i][j];
}
return c;
}
ostream& operator<<(ostream &output,Matrix&c)
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
output<<c.mat[i][j]<<" ";
cout<<endl;
}
return output;
}
istream& operator>>(istream &input,Matrix&c)
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
input>>c.mat[i][j];
}
return input;
}
int main()
{
Matrix a,b,c;
cin>>a;
cin>>b;
c=a+b;
cout<<c<<endl;
return 0;
}
运行结果: