工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1544|回复: 3

C++容器问题

[复制链接]
发表于 2006-10-1 22:35 | 显示全部楼层 |阅读模式
今晚编了一个小程序,感觉没有什么问题,可是运行后却不出结果。
   题目如下:读一组整数到VECTOR对象,计算并输出每对相邻的元素的和,如果读入的个数为奇数个,则提示用户最后有一个元素没有求和,并输出其值。
  我的程序如下:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
                vector<int> ivec;
                int count,sum,Input;  //count为记录输入个数,Input为要输入的数
                sum=0;
                count=0;
                cout<<"now input the integers:"<<endl;
                while(cin>>Input)
                        {
                                ivec.push_back(Input);
                                ++count;
                       
                        }
                for(vector<int>::size_type ix=0;ix!=ivec.size();(ix+2))
                        {
                                sum=ivec[ix]+ivec[ix+1];   //相邻的两个数相加并输出
                                cout<<sum<<endl;
                                sum=0;
                        }
                if(count%2)         //确定输入个数是否为奇数个
                        cout<<"the last element doesn't added!"<<endl;
                return 0;

}
发表于 2006-10-2 00:17 | 显示全部楼层
for(vector<int>::size_type ix=0;ix!=ivec.size(); (ix+2) )

应该是这里错了
回复

使用道具 举报

 楼主| 发表于 2006-10-2 08:04 | 显示全部楼层
这里没有问肉吧?现在问题是输入整数后回车应该又结果出来才对,但是我回车后程序只是换行,并没有输出结果。
回复

使用道具 举报

发表于 2006-10-2 11:48 | 显示全部楼层
首先, while(cin>>Input) 这种写法,应该输入回车没有结束,而是要 Ctrl+D.
其次,
for(vector<int>::size_type ix=0;ix!=ivec.size(); (ix+2) )
                        {
                                sum=ivec[ix]+ivec[ix+1];   //相邻的两个数相加并输出
                                cout<<sum<<endl;
                                sum=0;
                        }


楼主的ix+2应该是想要ix+=2的意思吧?
不过改成 ix+=2,当输入是奇数时,这样也会出错,因为后面的  sum=ivec[ix]+ivec[ix+1]; 。

只改 ix+2 为 ix+=2 后,我输入两个数测试时,是正确的:
now input the integers:
23
12
30
10
^D //这个就是输入Ctrl+D
35
40
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-31 01:33

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表