c++编程题目中的二维不定长数组vector的输入
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int N,m;
cin>>N>>m;
vector<vector<int>>res;
vector<int>path;
///
getchar();///不加的话getline不起作用
string ss;
getline(cin,ss);
cout<<ss;
path.clear();
while(N--)
{
int x1;
while(cin>>x1)
{
path.push_back(x1);//push_back放在判断语句的上面
if(cin.get()=='\n')
{
break;
}
}
res.push_back(path);
path.clear();
}
cout<<"迭代器遍历"<<endl;
vector<vector<int>>::iterator it1;
vector<int>::iterator it2;
vector<int>pp;
for(it1=res.begin();it1!=res.end();it1++)
{
pp=*it1;
for(it2=pp.begin();it2!=pp.end();it2++)
{
cout<<*it2<<" ";
}
cout<<endl;
}
//单独取出二维数组的一行
cout<<"单独取出一行"<<endl;
vector<int>p1(res[1].begin(),res[1].end());
for(int i=0;i<p1.size();i++)
{
cout<<p1[i]<<" ";
}
cout<<endl;
cout<<"下标遍历方法"<<endl;
for(int i=0;i<res.size();i++)
{
for(int j=0;j<res[i].size();j++)
{
cout<<res[i][j]<<" ";
}
cout<<endl;
}
cout<<"end";
}