编写程序 1.键盘输入矩阵维度m和n 2.生成一个矩阵,矩阵元素取值随机,并打印该矩阵。 3.将该矩阵传递给一个函数,实现矩阵转置。 4.在主函数中输出转置后的结果。 注:随机函数原型为int rand0;
时间: 2024-10-19 09:15:43 浏览: 21
yy.zip_yy.m_汉明矩阵_生成信道矩阵_高斯分布曲线_高斯随机矩阵
在C++中,你可以使用`std::cin`获取键盘输入的矩阵维度,然后利用`rand0`函数生成随机数创建矩阵。下面是一个简单的示例代码,展示了如何完成上述任务:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
// 随机数生成器
int rand0(int min, int max) {
return min + static_cast<int>((max - min + 1) * std::rand() / RAND_MAX);
}
// 矩阵转置函数
void transpose(int matrix[m][n], int transposedMatrix[n][m]) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
transposedMatrix[j][i] = matrix[i][j];
}
}
}
int main() {
// 获取矩阵维度
int m, n;
std::cout << "Enter the dimensions of the matrix (m x n): ";
std::cin >> m >> n;
// 初始化随机数生成器
srand(time(0));
// 创建并初始化矩阵
int matrix[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = rand0(0, 9); // 可根据需要调整范围
std::cout << matrix[i][j] << " "; // 打印实时进度
}
std::cout << "\n";
}
std::cout << "Original Matrix:\n";
// 输出原始矩阵
// 转置矩阵
int transposedMatrix[n][m];
transpose(matrix, transposedMatrix);
std::cout << "Transposed Matrix:\n";
// 输出转置后的矩阵
return 0;
}
```
阅读全文