您的位置:首页 > 其它

两个矩阵相乘但是结果不对,只有第一行的对,求解!

2015-08-10 17:09 246 查看
代码如下:

#include <stdio.h>
#include <stdlib.h>
#define M 4
#define N 5
void MatrixMultiply2(int A[M]
,int B
[M],int result[M]
)
{
int i,j,k;
int temp;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
temp=0;
for(k=0;k<N;k++)
temp=temp+A[i][k]*B[k][j];
result[i][j]=temp;
}
}

int main()
{
int i,j;
int a[M]
={{1,3,5,7,9},{0,2,4,6,6},{2,3,7,5,8},{1,7,2,9,0}};
int b
[M]={{3,1,4,5},{6,7,5,9},{4,4,3,1},{7,6,8,9},{1,2,3,4}};
int result[M][M];
printf("矩阵a:\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{
printf("%d ",a[i][j]);
if(j==N-1)
printf("\n");
}
printf("矩阵b:\n");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{
printf("%d ",b[i][j]);
if(j==M-1)
printf("\n");
}
printf("两个矩阵相乘等于:\n");
MatrixMultiply2(a,b,result);
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
printf("%d ",result[i][j]);
if(j==M-1)
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: