写程序读入一系列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;
展开
 我来答
匿名用户
2014-04-05
展开全部
q.push_back(p);
改成q[j] = p;
追问
好神奇。。我开始的时候没有用下标是因为下表只能用来操作已存在的元素。为什么用push_back就不会有问题了呢??
好神奇。。我开始的时候没有用下标是因为下表只能用来操作已存在的元素。为什么用push_back就不会有问题了呢??
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式