标题:输入几个字符串,算出相邻的一样的字符串的个数
取消只看楼主
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
结帖率:50%
已结贴  问题点数:5 回复次数:5 
输入几个字符串,算出相邻的一样的字符串的个数
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
    string str;
    vector<string> svec;
    cout<<"输入几个字符串"<<endl;
    while(cin>>str)
        svec.push_back(str);//字符串存到容器里
    vector<string>::iterator iter=svec.begin();
    int cnt=0;//设置计数器
    for(;iter!=svec.end();++iter)//遍历容器,求相邻相同的次数
        if((*iter)==*(iter++))
            {++cnt;
    cout<<*iter<<" 次数是:0"<<cnt<<endl;}
    return 0;
}

这程序哪有问题啊,运行不出来。。

[ 本帖最后由 yt414204458 于 2014-3-27 12:38 编辑 ]
搜索更多相关主题的帖子: include return 计数器 字符串 
2014-03-26 20:55
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
没人回答么。。。

一切从爱C开始
2014-03-26 22:12
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
求帮助啊。。这个程序是错的很离谱么?

一切从爱C开始
2014-03-27 09:45
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
回复 4楼 rjsp
我想用*iter取得容器里面的字符串,*(iter+1)是它相邻的下一个空间里面放的字符串。这样比较一下可以不?iter++确实不妥

一切从爱C开始
2014-03-27 12:39
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
回复 7楼 hubinyes
可这个程序在VS2012里面。。。不知道该怎么运行了,输入字符串以后没有反应

一切从爱C开始
2014-03-29 16:26
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
以下是引用hubinyes在2014-3-27 19:27:41的发言:

for(;iter!=svec.end();++iter)//遍历容器,求相邻相同的次数
        if((*iter)==*(iter++))

这肯定越界了。

    for(;iter!=svec.end()-1;++iter)
        if((*iter)==*(iter+1))

可以这样



这个我觉得没有越界啊,我看的C++ PRIMER上的,这个里面我也看不出哪里越界。。能否再说明白点

一切从爱C开始
2014-03-31 14:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429211-1-1.html




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

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