本实验取材于郭炜《程序设计与算法》。
矩阵的操作最有名还属于MATLAB,不同的操作集之间,它的时间复杂度和运算程度不同,今天我们利用c++来实现算法的基本流程,重点是理解何谓矩阵乘法。话不多说,上代码
#include<iostream>
using namespace std;
#define ROWS 8
#define COLS 8
int a[ROWS][COLS];
int b[ROWS][COLS];
int c[ROWS][COLS];
int main()
{
int m,n,p,q;
cin >> m >> n;
for(int i=0;i<m;++i)
for(int j=0;j<n;j++)
cin >> a[i][j];
cin >> p >> q;
for(int i=0;i<p;i++)
for(int j=0;j<q;j++)
cin >> b[i][j];
for(int i=0;i<m;i++){
for(int j=0;j<q;j++){
c[i][j]=0;
for(int k=0;k<n;k++)
c[i][j] += a[i][k]*b[k][j];
}
}
for(int i=0;i<m;++i){
for(int j=0;j<q;j++)
cout << c[i][j] << " ";
cout << endl;
}
return 0;
}