[YTU]

xiaoxiao2021-02-28  116

题目描述

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

输入

两个2行3列矩阵

输出

矩阵之和

样例输入

1 2 3 4 5 6 7 8 9 1 2 3

样例输出

8 10 12 5 7 9#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 &a,Matrix &b) {     Matrix S;     int i,j;     for(i=0;i<2;i++)         for(j=0;j<3;j++)          S.mat[i][j]=a.mat[i][j]+b.mat[i][j];         return S; } istream& operator>>(istream& input,Matrix &m) {     int i,j;     for(i=0;i<2;i++)         for(j=0;j<3;j++)             input>>m.mat[i][j];         return input; } ostream & operator<<(ostream &output,Matrix &m) {     int i,j;     for(i=0;i<2;i++)         for(j=0;j<2;j++)         {             output<<m.mat[i][j]<<' ';             if(j==1)                 output<<m.mat[i][2]<<endl;         }         return output; } int main() {     Matrix a,b,c;     cin>>a;     cin>>b;     c=a+b;     cout<<c<<endl;     return 0; }
转载请注明原文地址: https://www.6miu.com/read-51783.html

最新回复(0)