欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

[YTU]_2442( C++习题 矩阵求和--重载运算符)

发布时间:2025/4/16 c/c++ 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [YTU]_2442( C++习题 矩阵求和--重载运算符) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目描述

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

输入

两个2行3列矩阵

输出

矩阵之和

样例输入

1 2 3 4 5 67 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; }

总结

以上是生活随笔为你收集整理的[YTU]_2442( C++习题 矩阵求和--重载运算符)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。