C语言 A是一个3*4矩阵 B是一个4*5矩阵 编程求A*B得到新的矩阵C.并输出c 急

现在没法给分,好了给五十 很急

第1个回答  推荐于2016-08-03
void main()
{
int i,j,a[3][4],b[4][5],c[3][5];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);

for(i=0;i<3;i++){
for(j=0;j<5;j++){
c[i][j]=0;
for(k=0;k<4;k++)
c[i][j]+=a[i][k]*b[k][j];
printf("%d",c[i][j]);
}
printf("\n");
}
}本回答被提问者采纳
第2个回答  2008-09-24
#include <iostream>
using namespace std;

int *Multi(int *a,int m1,int n1, int *b,int m2,int n2, int &m,int &n)
{
if(n1!=m2)
{
cout<<"他们不能相乘!"<<endl;
exit(1);
}

m=m1;n=n2;
int *result=new int(m1*n2);

int i,j,k;
int s;
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
s=0;
for(k=0;k<n1;k++)
{
s+=a[i*n1+k]*b[k*n2+j];
}
result[i*n+j]=s;
}
}
return result;
}

void main()
{
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
int b[4][5]={6,7,8,9,10,11,7,8,9,10,8,9,3,5,2,4,6,6,7,20};
int *c,m,n;
c=Multi(&(a[0][0]),3,4,&(b[0][0]),5,4,m,n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cout << c[i*n+j] <<' ' ;
}
cout << endl;
}
}
第3个回答  2008-09-24
.....................................................................................................汉-_-!........................看不懂!