|
|
发表于 2023-11-28 08:28:17
|
显示全部楼层
问题出现在第一个 for 循环中的第三个嵌套循环中的条件判断。
应该将 m 作为循环条件,而不是再次使用 n。
代码:
- #include <iostream>
- #include <vector>
- using namespace std;
- int main()
- {
- int n, m, k;
- cin >> n >> m >> k;
- vector<vector<int>> nums1;
- vector<vector<int>> nums2;
- int res[105][105];
-
- for (int i = 0; i < n; i++)
- {
- vector<int> num;
- for (int j = 0; j < m; j++)
- {
- int number;
- cin >> number;
- num.push_back(number);
- }
- nums1.push_back(num);
- }
-
- for (int i = 0; i < m; i++)
- {
- vector<int> num;
- for (int j = 0; j < k; j++)
- {
- int number;
- cin >> number;
- num.push_back(number);
- }
- nums2.push_back(num);
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < k; j++)
- {
- int num1 = 0;
- for (int s = 0; s < m; s++)
- {
- num1 += nums1[i][s] * nums2[s][j];
- }
- res[i][j] = num1;
- }
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < k; j++)
- {
- if (j != k - 1)
- {
- cout << res[i][j] << " ";
- }
- else
- {
- cout << res[i][j] << endl;
- }
- }
- }
-
- return 0;
- }
复制代码 |
|