首页 > 解决方案 > 转置矩阵 c++

问题描述

我正在尝试转置矩阵,但仍然出现此错误

1 2

5 6

6 8 9

进程以退出代码 139 结束(被信号 11 中断:SIGSEGV)

当程序试图在函数中执行这一行“trans [j] [i] = a [i] [j]”时,我得到了这个

# include <vector>
# include <iostream>
using namespace std ;
void transpose(vector<vector<int>> a){
    vector<vector<int>>  trans;
    for (int i = 0; i <a.size() ; ++i) {
        for (int j = 0; j <a[i].size() ; ++j) {
            trans[j][i] = a[i][j];
        }
    }
}
int main () {
    vector<vector<int>> matrix = {{1, 2},{5, 6},{6, 8 ,9}};
    for (int i = 0; i < matrix.size(); ++i) {
        for (int j = 0; j < matrix[i].size(); ++j) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
    transpose(matrix);

    return 0;
}

标签: c++11

解决方案


推荐阅读