读一组整数到vector对象,用迭代器计算并输出每对相邻元素的和。但是输入最后一组的和不会输出.

题目:读一组整数到vector对象,使用迭代器访问vector中的元素。计算并输出每对相邻元素的和。如果读入的元素个数为奇数,则提示用户最后一个元素没有求和并输出其值;#... 题目:读一组整数到vector对象,使用迭代器访问vector中的元素。计算并输出每对相邻元素的和。如果读入的元素个数为奇数,则提示用户最后一个元素没有求和并输出其值;

#include <iostream>
#include <vector>

using namespace std;
int main()
{
vector<int>::iterator n;
int s;
vector<int> z;
while(cin >> s)
z.push_back(s);
if(z.size()%2!=0)
cout << z[z.size()-1] << endl;
else
{
for(n=z.begin();n!=z.end()-2;n+=2)
{
cout <<(*n)+(*(n+1))<< "\n";
}
}
system("PAUSE");
return 0;
}
输出的最后一对值不会输出和..怎么办..
输入的最后一对值不会输出和
展开
 我来答
贲绮蓝
2011-09-25 · TA获得超过417个赞
知道答主
回答量:632
采纳率:0%
帮助的人:347万
展开全部
这个好办.
你先声明一个很大的数组
#include <iostream.h>
#include <vector.h>
void main()
{vector<int> m;
char s[100];
cin>>s;
char *p=s;
while(p!='\0')
{
m.push_back(*p-'0');//*p-'0'是为了把字符数转化为整数。然后推入向量尾。)
p++;
}
}你看看这个办法行不行。
追问
学习vector中。。。。
wanggang8826
2011-09-25 · TA获得超过238个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:145万
展开全部
for(n=z.begin();n!=z.end()-1;n+=2)
追问
哥们这样会溢出的...
追答
改成
for(n=z.begin();n!=z.end();n+=2)
就对了。

完整的代码:
#include
#include

using namespace std;
int main()
{
vector::iterator n;
int s;
vector z;
while(cin >> s&&s!=0)//以输入0为结束条件,抱歉我实在不知你的结束条件是什么
z.push_back(s);
if(z.size()%2!=0)
cout << z[z.size()-1] << endl;
else
{
for(n=z.begin();n!=z.end();n+=2)
{
cout <<(*n)+(*(n+1))<< "\n";
}
}
system("PAUSE");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式