#include<iostream>
#include<vector>
using namespace std;
vector<vector<int> > multi(vector<vector<int> > &ve1, vector<vector<int> > &ve2){
int m = ve1.size(),n=ve2.size(), k = ve2[0].size();
vector<vector<int> > ve(m,vector<int>(k ,0) ) ;
for (int i = 0; i < m; ++i)
for (int j = 0; j < k; ++j){
int temp = 0;
for (int q = 0; q < n; ++q){
temp += ve1[i][q] * ve2[q][j];
}
ve[i][j] = temp;
}
return ve;
}
int main(){
int m, n, k;
cin >> m >> n >>k; //m*n * n*k两个矩阵
vector<vector<int> > ve1(m, vector<int>(n));
for (int i = 0; i < m;++i)
for (int j = 0; j < n; ++j)
cin >> ve1[i][j];
vector<vector<int> > ve2(n, vector<int>(k));
for (int i = 0; i < n; ++i)
for (int j = 0; j < k; ++j)
cin >> ve2[i][j];
vector<vector<int> > ve;
ve = multi(ve1, ve2);
int p = ve.size(), q = ve[0].size();
for (int i = 0; i < p; ++i){
for (int j = 0; j < q; ++j){
cout << ve[i][j] << ' ';
}
cout << endl;
}
system("pause");
return 0;
}
实现两个矩阵m*n,n*k相乘。