请教一道题目,c++ primer上面的习题 6.12

lovesoo 2008-12-26 12:25:58
从标准输入读入一系列string对象,寻找连续重复出现的单词。
程序应该找出满足以下条件的单词的输入位置:
该单词后面紧跟着再次出现自己本身。追踪重复次数最多的单词及其重复次数。输出重复次数的最大值,若没有单词重复则输出说明信息。
例如,如果输入是:
how, now now now brown cow cow
则输出应表明“now”这个单词出现了三次。


我做了好久,写的程序都不怎么理想。
谁能告诉我,怎么判断“重复次数最多的单词及其重复次数”?
谢谢。
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovesoo 2008-12-26
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>
using namespace std;
int main()
{
string repeatWord,prevWord,currentWord;
int CurrentCnt=1,MaxCnt=1;
prevWord="";
repeatWord="";
while(cin>>currentWord)
{
if(prevWord==currentWord)
CurrentCnt++;
else CurrentCnt=1;
if(CurrentCnt>MaxCnt)
{MaxCnt=CurrentCnt;
repeatWord=currentWord;}
prevWord=currentWord;
}
if(MaxCnt==1) cout<<"ûÓÐÖظ´µÄµ¥´Ê£¡\n";
else cout<<repeatWord<<"³öÏÖ"<<MaxCnt<<"´ÎÊý"<<endl;
system("PAUSE");
return 0;
}
lovesoo 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Chiyer 的回复:]
从map里找过键值最大就是那个单词了啊。。。。
[/Quote]

可否把这小段代码写给我看看,我菜菜 - -
谢谢了。
zhaohongbo83 2008-12-26
  • 打赏
  • 举报
回复
up!
星羽 2008-12-26
  • 打赏
  • 举报
回复
从map里找过键值最大就是那个单词了啊。。。。
lovesoo 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wangdeqie 的回复:]
lz是不是uuu9上多了。。。
[/Quote]

我不去uuu9,只去RN和OU.
lovesoo 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Chiyer 的回复:]
引用 3 楼 fjqgx 的回复:
应该用容器做比较简单吧。

用map容器。

map <string , int> word_count;
string word;

while(cin >> word)
++word_count[word];

上面的代码是C++ PRIMER第312页的。


这是个比较简单的做法up
[/Quote]

你说的这个我知道。
我的意思是,那段判断“重复次数最多的单词及其重复次数”到底该怎么写。
星羽 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fjqgx 的回复:]
应该用容器做比较简单吧。

用map容器。

map <string , int> word_count;
string word;

while(cin >> word)
++word_count[word];

上面的代码是C++ PRIMER第312页的。
[/Quote]

这是个比较简单的做法up
豆包啊啊 2008-12-26
  • 打赏
  • 举报
回复
应该用容器做比较简单吧。

用map容器。

map<string , int> word_count;
string word;

while(cin >> word)
++word_count[word];

上面的代码是C++ PRIMER第312页的。
wangdeqie 2008-12-26
  • 打赏
  • 举报
回复
lz是不是uuu9上多了。。。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧