用c++实现输入两个n×n的矩阵A和B,实现乘积运算,并输出运算结果和计算时间
时间: 2023-06-16 20:02:49 浏览: 94
以下是使用 C++ 实现输入两个 n×n 的矩阵 A 和 B,实现乘积运算,并输出运算结果和计算时间的示例代码:
```cpp
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main() {
int n;
cout << "请输入矩阵的阶数 n:";
cin >> n;
// 定义并初始化矩阵 A 和 B
int A[n][n], B[n][n];
cout << "请依次输入矩阵 A 的元素:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> A[i][j];
}
}
cout << "请依次输入矩阵 B 的元素:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> B[i][j];
}
}
// 计算矩阵乘积 C = A * B
int C[n][n];
auto start = high_resolution_clock::now(); // 记录开始时间
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
int sum = 0;
for (int k = 0; k < n; k++) {
sum += A[i][k] * B[k][j];
}
C[i][j] = sum;
}
}
auto end = high_resolution_clock::now(); // 记录结束时间
auto duration = duration_cast<microseconds>(end - start); // 计算耗时
// 输出矩阵 C 和计算时间
cout << "矩阵乘积 C = A * B:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << C[i][j] << " ";
}
cout << endl;
}
cout << "计算耗时:" << duration.count() << " 微秒" << endl;
return 0;
}
```
使用示例:
```
请输入矩阵的阶数 n:2
请依次输入矩阵 A 的元素:
1 2
3 4
请依次输入矩阵 B 的元素:
5 6
7 8
矩阵乘积 C = A * B:
19 22
43 50
计算耗时:2 微秒
```
阅读全文