C++二維不定長陣列的輸入
阿新 • • 發佈:2019-02-10
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";
}