用C++编程实现矩阵置换:输入一个n行m列的矩阵A,输出它的置换B
作者:野牛程序员:2023-03-31 07:58:16 C++阅读 2472
代码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()函数的使用
- 下一篇:矩形阵列?