Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何动态创建二维向量_C++_C++11_Vector_Data Structures_C++14 - Fatal编程技术网

C++ 如何动态创建二维向量

C++ 如何动态创建二维向量,c++,c++11,vector,data-structures,c++14,C++,C++11,Vector,Data Structures,C++14,vectorarr(n) arr是一个二维向量。我想从用户那里获取输入“列”,然后获取元素 for(int i=0;i<n;i++) { int cols; cin>>cols; //Statements } for(int i=0;i>cols; //声明 } 如何在for loop中创建cols大小的向量?向量a(M,向量(N)); 只需在前面声明列,然后向行插入值。 也可以使用向量数组。 向量v

vectorarr(n)
arr是一个二维向量。我想从用户那里获取输入“列”,然后获取元素

    for(int i=0;i<n;i++)
    {
        int cols; cin>>cols;
        
        //Statements
    }
for(int i=0;i>cols;
//声明
}
如何在for loop中创建cols大小的向量?

向量a(M,向量(N)); 只需在前面声明列,然后向行插入值。 也可以使用向量数组。
向量v[5];

首先获取列大小,然后创建向量,然后获取输入

int col,num;
cin >> col;

vector<vector<int>> arr(n,vector<int>(col));   
// this creates a vector of size n, whose elements are in turn vectors of size col

for(int i=0;i<n;i++)
{
    for(int j=0;i<col;j++)
    {
        cin >> num;
        arr[i][j]=num;
    }
}

int列,num;
cin>>col;
向量arr(n,向量col));
//这将创建一个大小为n的向量,其元素依次是大小为col的向量
对于(int i=0;i num;
arr[i][j]=num;
}
}

您的意思是想用
cols
设置向量中每个向量的大小吗?如果是这样,您可能只需执行
arr[i]=vector(cols)
每个都需要两个嵌套循环。仔细想想。这并不难。有很多重载,包括一个以值作为大小后的第二个参数。你可以在那里提供另一个具有列大小的向量对象。非常感谢MediocrEventable1 zdf和一些程序员。我做到了。@Chapo144还可以发布你的解决方案(回答你自己的问题)?这可能对任何遇到这个问题的人都有用。