世界最大石斑鱼:请帮忙用C++编一个用来求两矩阵相乘的子函数

来源:百度文库 编辑:高校问答 时间:2024/04/29 00:53:14

#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<<"Error!"<<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[2][3]={0,1,2,3,4,5};
int b[3][2]={6,7,8,9,10,11};
int *c,m,n;
c=Multi(&(a[0][0]),2,3,&(b[0][0]),3,2,m,n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cout << c[i*n+j] <<' ' ;
}
cout << endl;
}
}