满意答案
onem827047
2013.07.03
采纳率:56% 等级:13
已帮助:12013人
刚写好 的
#include
using namespace std;
class CMyMatrix
{
public:
CMyMatrix()
{
memset(a,0,sizeof(a)); //初始化
}
void scanner(); //输入
CMyMatrix operator * (CMyMatrix &a); //重载乘法
CMyMatrix trans(CMyMatrix &a); //转置
void print(); //输出
private:
float a[4][4];
};
CMyMatrix CMyMatrix::trans(CMyMatrix &a)
{
CMyMatrix c;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
c.a[i][j]=a.a[j][i];
}
return c;
}
void CMyMatrix::scanner()
{
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
cin>>a[i][j];
}
void CMyMatrix::print()
{
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
cout<
if(j==3)
cout<
}
}
CMyMatrix CMyMatrix::operator * (CMyMatrix &a)
{
CMyMatrix c;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
for(int k=0;k<4;k++)
{
c.a[i][j]+=(*this).a[k][j]*a.a[i][k];
}
return c;
}
int main()
{
CMyMatrix a,b,c;
a.scanner();
b.scanner();
c=a*b;
c.print();
c=c.trans(c);
c.print();
return 0;
}
00分享举报