模拟矩阵乘法的实现,难度中下吧
#include <bits/stdc++.h> using namespace std; int main(){ int x = 0, y = 0, z = 0; cin >> x >> y >> z; vector<vector<int>> A(x, vector<int>(y, 0)); vector<vector<int>> B(y, vector<int>(z, 0)); vector<vector<int>> C(x, vector<int>(z, 0)); // 输入第一个矩阵 for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++) { int temp = 0; cin >> temp; A[i][j] = temp; } } // 输入第二个矩阵 for (int i = 0; i < y; i++) { for (int j = 0; j < z; j++) { int temp = 0; cin >> temp; B[i][j] = temp; } } // 执行矩阵乘法 for (int i = 0; i < x; i++) { for (int j = 0; j < z; j++) { int temp = 0; for (int m = 0; m < y; m++) { C[i][j] += (A[i][m] * B[m][j]); } } } // 输出 for(vector<vector<int>>::iterator iter = C.begin(); iter != C.end(); iter++) { auto temp = *iter; for (vector<int>::iterator iterr = temp.begin(); iterr != temp.end(); iterr++) { cout << *iterr << " "; } cout << endl; } return 0; }