[YTU]_2640( 编程题:运算符重载---矩阵求和)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2640( 编程题:运算符重载---矩阵求和)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
/* 有兩個矩陣a和b,均為2行3列。求兩個矩陣之和。 重載運算符“+”,使之能用于矩陣相加(如c=a+b)。 重載流插入運算符“<<”和流提取運算符“>>”,使之能用于該矩陣的輸入和輸出。 請在下面的程序段基礎上完成設計,只提交begin到end部分的代碼 */ #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;? } 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; } //將程序需要的其他成份寫在下面,只提交begin到end部分的代碼 //******************** begin ******************** //********************* end ******************** int main() { Matrix a,b,c; cin>>a; cin>>b; c=a+b; cout<<c<<endl; return 0; }輸入
兩個2行3列矩陣
輸出
矩陣之和
樣例輸入
1 2 3 4 5 67 8 9 0 1 2樣例輸出
8 10 12 4 6 8 #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; }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;?????? } 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; } ostream & operator<<(ostream &output,Matrix &m) {int i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){output<<m.mat[i][j]<<' ';if(j==2)output<<endl;}return output; } int main(){Matrix a,b,c;cin>>a;cin>>b;c=a+b;cout<<c<<endl;return 0;}總結
以上是生活随笔為你收集整理的[YTU]_2640( 编程题:运算符重载---矩阵求和)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_2440( C++习题 复数
- 下一篇: [YTU]_2442( C++习题 矩阵