用C++编程实现矩阵置换:输入一个n行m列的矩阵A,输出它的置换B
作者:野牛程序员:2023-03-31 07:58:16 C++阅读 2778
代码1:
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> matrixTranspose(vector<vector<int>>& A) {
int n = A.size();
int m = A[0].size();
vector<vector<int>> B(m, vector<int>(n));
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
B[j][i] = A[i][j];
}
}
return B;
}
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> A(n, vector<int>(m));
// 输入矩阵 A
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cin >> A[i][j];
}
}
vector<vector<int>> B = matrixTranspose(A);
// 输出矩阵 B
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
cout << B[i][j] << " ";
}
cout << endl;
}
return 0;
}代码2:
#include <iostream>
using namespace std;
const int MAXN = 100;
int main() {
int n, m;
cin >> n >> m;
int A[MAXN][MAXN], B[MAXN][MAXN];
// 输入矩阵 A
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cin >> A[i][j];
}
}
// 计算矩阵 B
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
B[i][j] = A[j][i];
}
}
// 输出矩阵 B
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
cout << B[i][j] << " ";
}
cout << endl;
}
return 0;
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++中setiosflags()函数的使用
- 下一篇:矩形阵列?
