void matrixMulti( int **a, int **b,int **c,int n1,int m,int n2)
{for (int i=0; i<n1; ++i)
{
for (int j=0; j<n2; ++j)
{
c[i][j] = 0;
for ( int k=0; k<m; ++k)
{
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int n1 = 2,m = 3,n2 = 4;;
int **a,**b,**c;
a = new int*[n1];
b = new int*[m];
c = new int*[n1];
int i = 0;
for (i=0; i<n1; ++i)
{
a[i] = new int[m];
}
for (i=0; i<m; ++i)
{
b[i] = new int[n1];
}
for (i=0; i<n2; ++i)
{
c[i] = new int[n2];
}
a[0][0]=1;
a[0][1]=2;
a[0][2]=3;
a[1][0]=2;
a[1][1]=3;
a[1][2]=1;
b[0][0]=1;
b[0][1]=2;
b[0][2]=3;
b[0][3]=5;
b[1][0]=2;
b[1][1]=3;
b[1][2]=2;
b[1][3]=5;
b[2][0]=3;
b[2][1]=1;
b[2][2]=1;
b[2][3]=5;
matrixMulti(a,b,c,n1,m,n2);
for (i=0; i<n1; ++i)
{
for (int j=0; j<n2; ++j)
{
cout<<c[i][j]<<" ";
}
cout<<endl;
}
//析构
for (i=0;i<n1;++i )
{
delete [] a[i];
a[i] = NULL;
}
for (i=0; i<m; ++i)
{
delete [] b[i];
b[i] = NULL;
}
for (i=0;i<n2; ++i)
{
delete [] c[i];
c[i] = NULL;
}
delete [] a;
delete [] b;
delete [] c;
a = NULL;
b = NULL;
b = NULL;
system("pause");
return 0;
}