《C++ 实现矩阵相乘》
#include
using namespace std;
void MatrixMultiplication(double m1,double m2,double m3,int m,int n,int k)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<k;j++)
{
double sum = 0.0;
for(int jj=0;jj<n;jj++)
{
sum += (m1+in+jj)((m2+jjk+j));
}
(m3+ik+j) = sum;
}
}
}
int main(int argc, char* argv[])
{
int m = 1 , n = 3 , k = 3;
double m1,m2,m3;
m1 = new double[mn];
m2 = new double[nk];
m3 = new double[mk];
//[50 50 1]
(m1+n0+0) = 50;
(m1+n0+1) = 50;
(m1+n0+2) = 1;
//[1 0 0]
//[0 1 0]
//[200, 200,1]
(m2+k0+0) = 1;
(m2+k0+1) = 0;
(m2+k0+2) = 0;
(m2+k1+0) = 0;
(m2+k1+1) = 1;
(m2+k1+2) = 0;
(m2+k2+0) = 200;
(m2+k2+1) = 200;
(m2+k2+2) = 1;
MatrixMultiplication(m1,m2,m3,m,n,k);
cout<<"["<<(m3+k0+0)<<" “;
cout<<(m3+k0+1)<<” “;
cout<<(m3+k0+2)<<”]"<<endl;
delete[] m1;
delete[] m2;
delete[] m3;
return 0;
}