| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1633 人关注过本帖
标题:为什么输入两个相同的数字后还是现实不相等呢? 请大佬们看下是哪里出错了呢
只看楼主 加入收藏
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
结帖率:87.88%
收藏
 问题点数:0 回复次数:4 
为什么输入两个相同的数字后还是现实不相等呢? 请大佬们看下是哪里出错了呢
//判断两个vector 是否相等 //使用迭代器访问vector 中的元素
#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
    vector<int> ivec1,ivec2;
    int ival;
   
    while(cin>>ival)
        ivec1.push_back(ival);
   
    while(cin>>ival)
        ivec2.push_back(ival);
        
    if(ivec1.size()!=ivec2.size())
        cout<<"不相等";
    else if(ivec1.size()==0)
        cout<<"长度都为0的vector相等";
    else{
        vector<int>::iterator iter1,iter2;
        iter1=ivec1.begin();
        iter2=ivec2.begin();
        while(*iter1==*iter2 && iter1!=ivec1.end() && iter2!=ivec2.end()) {
            iter1++;
            iter2++;
        }
        
        if(iter1==ivec1.end())
            cout<<"所有元素都相等";
        else
            cout<<"所有元素都不相等";
    }
    return 0;
}
搜索更多相关主题的帖子: 相等 vector int while cout 
2019-04-14 14:50
ZJYTY
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:92
专家分:700
注 册:2018-12-20
收藏
得分:0 
你确定这样写能够正确输入吗?

建议改为:
程序代码:
do
    {
        cin>>ival;
        ivec1.push_back(ival);

    }while(ival);

    do
    {
        cin>>ival;
        ivec2.push_back(ival);

    }while(ival);

-------------------------------若有不当之处,敬请谅解-------------------------------
2019-04-14 15:33
打大龙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:64
注 册:2019-4-14
收藏
得分:0 
你的输入不知道是怎么跳出循环的,给你参考下
程序代码:
    while (cin >> ival) {
        ivec1.push_back(ival);
        if (cin.get()=='\n')
        {
            break;
        }
    }
        

    while (cin >> ival) {
        ivec2.push_back(ival);
        if (cin.get() == '\n')
        {
            break;
        }
    }

另外,最后迭代器的循环有点问题,会越界
2019-04-14 16:08
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 2楼 ZJYTY
好的谢谢
2019-04-14 16:39
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 3楼 打大龙
好的谢谢
2019-04-14 16:40
快速回复:为什么输入两个相同的数字后还是现实不相等呢? 请大佬们看下是哪里出错 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021598 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved