C++编写一个函数multi,实现大小两个矩阵相乘,通过主函数调用该函数,并输出结果,要求使用函数、指针,
时间: 2023-07-15 16:12:48 浏览: 132
以下是一个示例代码,可以实现两个矩阵的相乘:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100;
void multi(int (*A)[MAXSIZE], int (*B)[MAXSIZE], int (*C)[MAXSIZE], 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;
int A[MAXSIZE][MAXSIZE], B[MAXSIZE][MAXSIZE], C[MAXSIZE][MAXSIZE];
cout << "请输入矩阵A的行数和列数:";
cin >> m >> n;
cout << "请依次输入矩阵A中的元素:";
for(int i = 0; i < m; ++i) {
for(int j = 0; j < n; ++j) {
cin >> A[i][j];
}
}
cout << "请输入矩阵B的行数和列数:";
cin >> n >> p;
cout << "请依次输入矩阵B中的元素:";
for(int i = 0; i < n; ++i) {
for(int j = 0; j < p; ++j) {
cin >> B[i][j];
}
}
multi(A, B, C, m, n, p);
cout << "矩阵A与矩阵B的乘积为:" << endl;
for(int i = 0; i < m; ++i) {
for(int j = 0; j < p; ++j) {
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在该示例代码中,multi函数实现了两个矩阵的相乘,使用指针作为函数的参数来传递矩阵。主函数中首先输入两个矩阵的行列数以及元素,调用multi函数计算两个矩阵的乘积,最后输出结果。
阅读全文