C++矩阵乘法运算
voidprint(inta[3][3]){….}intmain(){inta[3][3]={1,2,3,4,5,6,7,8,9};intb[3][3]={1,0,1,2...
void print(int a[3][3])
{
….
}
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int b[3][3]={1,0,1,2,0,4,6,1,3};
int c[3][3];
cout<<””<<endl;
print(a);
return 0;
}
程序应能完成如下功能
(1) 矩阵的输入和输出,
(2) 具有相同行数和列数的矩阵间加法和减法,
(3) 符合乘法规则要求矩阵间的乘法,
(4) 矩阵的转置
(5) 程序以菜单方式显示各功能,选中某菜单项后执行相应功能,要求界面友好,操作简单 展开
{
….
}
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int b[3][3]={1,0,1,2,0,4,6,1,3};
int c[3][3];
cout<<””<<endl;
print(a);
return 0;
}
程序应能完成如下功能
(1) 矩阵的输入和输出,
(2) 具有相同行数和列数的矩阵间加法和减法,
(3) 符合乘法规则要求矩阵间的乘法,
(4) 矩阵的转置
(5) 程序以菜单方式显示各功能,选中某菜单项后执行相应功能,要求界面友好,操作简单 展开
展开全部
void CTestView::Calculate1(double M0[][4],P3D P0[][4])//矩阵M*P相乘
{
KeepOriginalMatrix(P0,T);
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
P3d[i][j].x=M0[i][0]*T[0][j].x+M0[i][1]*T[1][j].x+M0[i][2]*T[2][j].x+M0[i][3]*T[3][j].x;
P3d[i][j].y=M0[i][0]*T[0][j].y+M0[i][1]*T[1][j].y+M0[i][2]*T[2][j].y+M0[i][3]*T[3][j].y;
P3d[i][j].z=M0[i][0]*T[0][j].z+M0[i][1]*T[1][j].z+M0[i][2]*T[2][j].z+M0[i][3]*T[3][j].z;
}
}
。。。我就给你提供一个计算的方法,照你这样说我还得给你写出一个完成的程序来?。。呵呵
{
KeepOriginalMatrix(P0,T);
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
P3d[i][j].x=M0[i][0]*T[0][j].x+M0[i][1]*T[1][j].x+M0[i][2]*T[2][j].x+M0[i][3]*T[3][j].x;
P3d[i][j].y=M0[i][0]*T[0][j].y+M0[i][1]*T[1][j].y+M0[i][2]*T[2][j].y+M0[i][3]*T[3][j].y;
P3d[i][j].z=M0[i][0]*T[0][j].z+M0[i][1]*T[1][j].z+M0[i][2]*T[2][j].z+M0[i][3]*T[3][j].z;
}
}
。。。我就给你提供一个计算的方法,照你这样说我还得给你写出一个完成的程序来?。。呵呵
追问
问题补充:
程序应能完成如下功能
1) 矩阵的输入和输出,
(2) 具有相同行数和列数的矩阵间加法和减法,
(3) 符合乘法规则要求矩阵间的乘法,
(4) 矩阵的转置
(5) 程序以菜单方式显示各功能,选中某菜单项后执行相应功能,要求界面友好,操作简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询