首页 > 解决方案 > 我想创建一个嵌套数组,该数组由另一个数组中的所有元素组成,但分为两个

问题描述

我想创建一个嵌套数组(v2),它由另一个数组(arr)中的所有元素组成,但分为两个。

std::vector<std::vector<int> > v2;
int arr[8] = {0, 1, 2, 3, 4, 5, 6, 7};
//I want the v2 to be: {{0,1}, {2,3}, {4,5}, {6,7}}
std::cout << "v2.size = "<< v2.size() << '\n';
for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 1; j++){
    //I want the v2 to be: {{0,1}, {2,3}, {4,5}, {6,7}}
        v2[i][j] = arr[2*i];
        v2[i][j+1] = arr[2*i+1];
    }
}
//No output...
for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 2; j++) {
        std::cout<<v2[i][j];
    }
}

标签: c++

解决方案


在分配给它之前,您需要在向量中保留空间operator[]

改变

std::vector<std::vector<int>> v2;

std::vector<std::vector<int>> v2(4, std::vector<int>(2));

推荐阅读