Description
计算两个矩阵的乘积,第一个是2*3矩阵,第二个是3*2矩阵,结果为一个2*2矩阵。
Input
输入包含多组数据,先输入一个2*3矩阵,再输入一个3*2矩阵。
Output
输出两个矩阵的乘积。
Sample Input
1 1 1
1 1 1
1 1
1 1
1 1
Sample Output
3 3
3 3
思路
矩阵乘法需再开一个数组用以存储两矩阵相乘后的结果
代码
#include<stdio.h>
#include<string.h>
int g1[5][5],g2[5][5],ans[5][5];
int main()
{
while(~scanf("%d %d %d",&g1[0][0],&g1[0][1],&g1[0][2]))
{
for(int i=1;i<2;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&g1[i][j]);
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
{
scanf("%d",&g2[i][j]);
}
}
memset(ans,0,sizeof(ans));
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
for(int k=0;k<3;k++)
{
ans[i][j]+=g1[i][k]*g2[k][j];
}
}
}
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(j==0)
printf("%d",ans[i][j]);
else
printf(" %d",ans[i][j]);
}
printf("\n");
}
}
return 0;
}