信息学奥赛一本通C++语言——1125:矩阵乘法
时间: 2023-07-30 16:11:23 浏览: 269
你好!对于矩阵乘法,我们可以使用嵌套的循环来实现。假设有两个矩阵 A 和 B,A 是 m 行 n 列的矩阵,B 是 n 行 p 列的矩阵,它们的乘积矩阵 C 是 m 行 p 列的矩阵。
下面是一个简单的 C++ 代码示例,用于计算两个矩阵的乘积:
```cpp
#include <iostream>
using namespace std;
const int MAX_SIZE = 100;
void matrixMultiplication(int A[][MAX_SIZE], int B[][MAX_SIZE], int C[][MAX_SIZE], int m, int n, int p) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
C[i][j] = 0;
for (int k = 0; k < n; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
int main() {
int m, n, p;
cout << "Enter the number of rows of matrix A: ";
cin >> m;
cout << "Enter the number of columns of matrix A / rows of matrix B: ";
cin >> n;
cout << "Enter the number of columns of matrix B: ";
cin >> p;
int A[MAX_SIZE][MAX_SIZE], B[MAX_SIZE][MAX_SIZE], C[MAX_SIZE][MAX_SIZE];
cout << "Enter elements of matrix A:" << endl;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> A[i][j];
}
}
cout << "Enter elements of matrix B:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
cin >> B[i][j];
}
}
matrixMultiplication(A, B, C, m, n, p);
cout << "Matrix A * Matrix B = " << endl;
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在该示例中,我们首先输入两个矩阵 A 和 B 的维度,然后逐个输入它们的元素。最后,调用 `matrixMultiplication` 函数来计算矩阵乘法,并输出结果矩阵 C。
希望这个例子能帮到你!如果还有其他问题,请随时提问。
阅读全文