当前位置:首页 C++ > 正文

用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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击