如何动态创建二维向量
How to dynamically create a 2d vector
vector< vector<int>> arr(n);
arr 是一个二维向量。我想从用户那里获取输入“列”,然后是元素。
for(int i=0;i<n;i++)
{
int cols; cin>>cols;
//Statements
}
如何在 for 循环 中创建 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;
}
}
我终于做到了。
#include<bits/stdc++.h>
using namespace std;
int main()
{
//rows=5 and columns are dynamically initialized
vector<vector<int>> v(5);
int cols;
for(int i=0;i<5;++i)
{
cout<<"Enter column count for row : "<<i+1<<"\n";
cin>>cols;
v[i]=vector<int>(cols);
cout<<"Enter Data";
for(int j=0;j<cols;++j)
cin>>v[i][j];
}
cout<<"your data was :-\n";
for(int i=0;i<5;++i)
{
for(int j=0;j<v[i].size();++j)
cout<<v[i][j]<<" ";
cout<<"\n";
}
}
vector< vector<int>> arr(n);
arr 是一个二维向量。我想从用户那里获取输入“列”,然后是元素。
for(int i=0;i<n;i++)
{
int cols; cin>>cols;
//Statements
}
如何在 for 循环 中创建 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;
}
}
我终于做到了。
#include<bits/stdc++.h>
using namespace std;
int main()
{
//rows=5 and columns are dynamically initialized
vector<vector<int>> v(5);
int cols;
for(int i=0;i<5;++i)
{
cout<<"Enter column count for row : "<<i+1<<"\n";
cin>>cols;
v[i]=vector<int>(cols);
cout<<"Enter Data";
for(int j=0;j<cols;++j)
cin>>v[i][j];
}
cout<<"your data was :-\n";
for(int i=0;i<5;++i)
{
for(int j=0;j<v[i].size();++j)
cout<<v[i][j]<<" ";
cout<<"\n";
}
}