首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

矩阵相乘,该如何处理

2012-02-23 
矩阵相乘voidjc(int*a,int*b,int*c,intm,intn){inti,j,k,x,y,lfor(i0i ni++)for(j0j nj++)for(k

矩阵相乘
void   jc(int   *a,int   *b,int   *c,int   m,int   n)
{int   i,j,k,x,y,l;
  for(i=0;i <n;i++)
      for(j=0;j <n;j++)
        for(k=0;k <m;k++)
        *(c+i*n+j)+=*(a+m*i+k)*(*(b+n*k+j));

}
main()
{int   a[4][2],b[2][4],c[2][2]={0},i,j;
  printf( "input   a:\n ");
  for(i=0;i <4;i++)
    for(j=0;j <2;j++)
      scanf( "%d ",&a[i][j]);
  printf( "input   b:\n ");
  for(i=0;i <2;i++)
    for(j=0;j <4;j++)
      scanf( "%d ",&b[i][j]);
  jc(&a[0][0],&b[0][0],&c[0][0],4,2);
  for(i=0;i <2;i++)
    {for(j=0;j <2;j++)
        printf( "%d   ",c[2][2]);
      printf( "\n ");
    }
}
矩阵相乘,这个程序得不出正确结果   ,请帮忙找一下原因


[解决办法]
楼主是要做a*b还是b*a啊?
两者的顺序直接导致结果不一样啊

热点排行