C++实验题---填空(运算符重载A)

C++实验题---填空(运算符重载A)

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:165            测试通过:125

描述

仔细阅读以下程序,理解程序的主要功能,正确补充空白处的语句,空白处可能是一条语句或多条语句,也可能是一个表达式,严禁改动给出程序代码的段落、修改、移动、注释掉给出的程序代码,若有改动、修改或注释掉给出程序的任何一处该题记0分。并编译运行测试通过后进行提交,否则提交错一次扣1分,扣完为止。



#include <iostream.h>

class Matrix                                          
{
 public:
  Matrix();              
  friend Matrix operator+(Matrix &,Matrix &);        
  void input();                                      
  void display();                                    
 private:
  int mat[2][3];
};
Matrix::Matrix()                                
{
 for(int i=0;i<2;i++)
  for(int j=0;j<3;j++)
   mat[i][j]=0;
}
_____________            
{
 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;
} 
void Matrix::input()                     
{
 cout<<"input value of matrix:"<<endl;
 for(int i=0;i<2;i++)
  for(int j=0;j<3;j++)
   cin>>mat[i][j];
}
_____________                           
{
 for (int i=0;i<2;i++)
  {for(int j=0;j<3;j++)
   {cout<<mat[i][j]<<" ";}
  cout<<endl;}
}
int main()
{
 Matrix a,b,c;
 a.input();
 b.input();
 cout<<endl<<"Matrix a:"<<endl;
 a.display();
 cout<<endl<<"Matrix b:"<<endl;
 b.display();
 c=a+b;            
 cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl;
 c.display();
 return 0;
}

输入

输入只有一组测试数据。

输出

根据程序代码输出相应的信息。

样例输入

1 2 3
4 5 6
2 3 4
5 6 7

样例输出

input value of matrix:
input value of matrix:

Matrix a:
1 2 3  
4 5 6 

Matrix b:
2 3 4 
5 6 7 

Matrix c = Matrix a + Matrix b :
3 5 7
9 11 13
代码如下
#include <iostream>
#include<cstdio>
using namespace std;
class Matrix
{
public:
    Matrix();
    friend Matrix operator+(Matrix &,Matrix &);
    void input();
    void display();
private:
    int mat[2][3];
};
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;
}
void Matrix::input()
{
    cout<<"input value of matrix:"<<endl;
    for(int i=0; i<2; i++)
        for(int j=0; j<3; j++)
            cin>>mat[i][j];
}
void Matrix::display()
{
    for (int i=0; i<2; i++)
    {
        for(int j=0; j<3; j++)
        {
            cout<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
}
int main()
{
    Matrix a,b,c;
    a.input();
    b.input();
    cout<<endl<<"Matrix a:"<<endl;
    a.display();
    cout<<endl<<"Matrix b:"<<endl;
    b.display();
    c=a+b;
    cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl;
    c.display();
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值