矩阵相加

来源:互联网 发布:软件过程管理 电子书 编辑:程序博客网 时间:2024/05/22 03:30
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年4月29日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:有两个矩阵,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#include <iostream>using namespace std;class Matrix{private:    int mat[2][3];public:    Matrix();    friend Matrix operator+(Matrix &,Matrix &);    friend istream &operator>>(istream &,Matrix &);    friend ostream &operator<<(ostream &,Matrix &);};Matrix::Matrix(){    for(int i=0; i<2; ++i)        for(int j=0; j<3; ++j)        {            mat[i][j]=0;        }}Matrix operator+(Matrix &a,Matrix &b){    Matrix c;    for(int i=0; i<2; ++i)        for(int j=0; j<3; ++j)        {            c.mat[i][j]=a.mat[i][j]+b.mat[i][j];        }    return c;}istream &operator>>(istream &input,Matrix &m){    for(int i=0; i<2; ++i)        for(int j=0; j<3; ++j)        {            input>>m.mat[i][j];        }    return input;}ostream &operator<<(ostream &output,Matrix &n){    for(int i=0; i<2; ++i)    {        for(int j=0; j<3; ++j)        {            output<<n.mat[i][j]<<" ";        }        cout<<endl;    }    return output;}int main(){    Matrix a,b,c;    cout<<"请输入a"<<endl;    cin>>a;    cout<<"请输入b"<<endl;    cin>>b;    cout<<"Matrix a:"<<endl;    cout<<a<<endl;    cout<<"Matrix b:"<<endl;    cout<<b<<endl;    c=a+b;    cout<<"Matrix a+Matrix b:"<<endl;    cout<<c<<endl;    return 0;}


结果展示:

心得体会:天晴了,该出去转转了,呵呵。

0 0