读取未给出行列数的矩阵,对于给定的一个二维矩阵,请转置后进行输出。 输入描述 对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。 输出描述 n*m矩阵的转置矩阵。输出m行,每行是n个空格分隔的数据。使用C++
时间: 2024-02-12 21:02:30 浏览: 34
好的,这是一个简单的矩阵转置问题,以下是代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m; // 输入矩阵的行数和列数
vector<vector<int>> matrix(n, vector<int>(m)); // 定义二维矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> matrix[i][j]; // 读取矩阵的每个元素
}
}
// 转置矩阵
vector<vector<int>> transposed(m, vector<int>(n));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
transposed[j][i] = matrix[i][j];
}
}
// 输出转置矩阵
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout << transposed[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输入示例:
```
3 4
1 2 3 4
5 6 7 8
9 10 11 12
```
输出示例:
```
1 5 9
2 6 10
3 7 11
4 8 12
```