问题 问答题

有两个矩阵a和b,都是2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如c=a+b。

答案

参考答案:#include<iostream.h>
class Mx
{public:
Mx();
friend Mx operator+(Mx &,Mx &);
void input();
void show();
private:
int m[2][3];
};
Mx::Mx()
{for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
m[i][j]=0;
}
Mx operator+(Mx &a,Mx &b)
{Mx c;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
c.m[i][j]=a.m[i][j]+b.m[i][j];
return c;
}
void Mx::input()
{cout<<"输入矩阵的值:"<<endl;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
cin>>m[i][j];
}
void Mx::show()
{for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
}
void main()
{Mx a,b,c;
a.input();
b.input();
cout<<endl<<"矩阵a:"<<endl;
a.show();
cout<<endl<<"矩阵b:"<<endl;
b.show();
c=a+b;
cout<<endl<<"矩阵c=矩阵a+矩阵b"<<endl;
c.show();
}

单项选择题
问答题 简答题