题解 | 矩阵转置

矩阵转置

https://www.nowcoder.com/practice/351b3d03e410496ab5a407b7ca3fd841

#include <iostream>
#include <vector>
using std::cin, std::cout, std::cerr;
using std::vector;
using std::endl;


int main() {
    // n 行 m 列
    size_t n, m;
    if (!(cin >> n >> m) || n < 1 || m < 1) {
        cerr << "Error: Invalid matrix size!";
        return 0;
    }

    // 边输入边转置
    vector<vector<int>> reverse_matrix(m, vector<int>(n));
    int element;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            // 接收并判定数据
            if (!(cin >> element)) {
                cerr << "Invalid input: element!";
                return 0;
            }
            // 列优先
            reverse_matrix[j][i] = element;
        }
    }
    for (const auto &arr : reverse_matrix) {
        for (const auto &i : arr) {
            cout << i << " ";
        }
        // 按行输出,注意换行
        cout << endl;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务