写程序读入一系列string类型和int类型数据,将每一组存储在一个pair对象中然后将这些对象存储在vector中
#include<iostream>#include<string>#include<utility>#include<vector>usingnamespacestd;...
#include <iostream>
#include <string>
#include <utility>
#include <vector>
using namespace std;
int main()
{
pair<string,int> p;
string s;
int a;
int n;
cout<<"please input the size of vector"<<endl;
cin>>n;
vector<pair<string,int> > q(n);
cout<<"please input the elements of pair"<<endl;
for(int j=0;j<n;j++)
{
cin>>s>>a;
p=make_pair(s,a);
q.push_back(p);
}
cout<<"the elements of vectors are"<<endl;
for(vector<pair<string,int> >::iterator i=q.begin();i!=q.end();i++)
{
cout<<i->first<<" "<<i->second<<endl;
}
return 0;
}
请大神帮忙指导一下,最后会多输出0; 展开
#include <string>
#include <utility>
#include <vector>
using namespace std;
int main()
{
pair<string,int> p;
string s;
int a;
int n;
cout<<"please input the size of vector"<<endl;
cin>>n;
vector<pair<string,int> > q(n);
cout<<"please input the elements of pair"<<endl;
for(int j=0;j<n;j++)
{
cin>>s>>a;
p=make_pair(s,a);
q.push_back(p);
}
cout<<"the elements of vectors are"<<endl;
for(vector<pair<string,int> >::iterator i=q.begin();i!=q.end();i++)
{
cout<<i->first<<" "<<i->second<<endl;
}
return 0;
}
请大神帮忙指导一下,最后会多输出0; 展开
1个回答
2014-04-05
展开全部
q.push_back(p);
改成q[j] = p;
改成q[j] = p;
追问
好神奇。。我开始的时候没有用下标是因为下表只能用来操作已存在的元素。为什么用push_back就不会有问题了呢??
好神奇。。我开始的时候没有用下标是因为下表只能用来操作已存在的元素。为什么用push_back就不会有问题了呢??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询