• 矩阵求和--重载运算符


    C++习题 矩阵求和--重载运算符

    [Submit][Status][Web Board]

    Description

    有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)。
    重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。

    Input

    两个2行3列矩阵

    Output

    矩阵之和

    Sample Input

    1 2 34 5 67 8 91 2 3

    Sample Output

    8 10 125 7 9
    #include <iostream.h>
    //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=0,j=0;
    for(;i<2;i++)
    for(;j<3;j++)
    mat[i][j]=0;
    }
    
    Matrix operator+(Matrix &a,Matrix &b)
      {Matrix c;
    int i,j;
      for(i=0;i<2;i++)
      for(j=0;j<3;j++)
      c.mat[i][j]=a.mat[i][j]+b.mat[i][j];
      return c;}
         ostream& operator<<(ostream&output,Matrix &a)
      {int i,j;
      for(i=0;i<2;i++)
      {for(j=0;j<2;j++)
     output<<a.mat[i][j]<<' ';
    output<<a.mat[i][j];
    cout<<endl;}
      return output;}
         istream& operator>>(istream&input,Matrix&a)
      {int i,j;
      for(i=0;i<2;i++)
      for(j=0;j<3;j++)
     input>>a.mat[i][j];
      return input;}
     
     
    
    
    
    /* C++代码 */
     
    int main()
    {
        Matrix a,b,c;
        cin>>a;
        cin>>b;
        c=a+b;
        cout<<c<<endl;
        return 0;
    }


  • 相关阅读:
    第七周总结
    第六周总结
    第五周总结
    第四周总结
    第三周总结
    第二周总结
    第一周总结
    《需求分析和系统设计》阅读笔记三
    《需求分析和系统设计》阅读笔记二
    Linux——error while loading shared libraries 的解决方法
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3766924.html
Copyright © 2020-2023  润新知