#include <stdio.h>
#include <string.h>
#include <malloc.h>
void matrix_multiply(int *m1,int *m2,
int x,int y,int z)
{
int reval[x][z];
memset(reval,0,sizeof(int)*x*y);
int i,j,k;
for(i=0;i<x;i++)
for(j=0;j<z;j++)
for(k=0;k<y;k++){
reval[i][j] += *(m1+i*y+k) * (*(m2+k*z+j));
}
for(i=0;i<x;i++){
for(j=0;j<z;j++)
printf("%6d",reval[i][j]);
printf("\n");
}
}
int main(void)
{
int a[2][3]={2,-6,3,5,1,-1};
int b[4][2]={4,-2,-4,-5,-7,-3,6,7};
matrix_multiply(&a[0][0],&b[0][0],3,2,4);
return 0;
}
矩阵相乘
最新推荐文章于 2024-04-07 00:10:19 发布
