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

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


我做了好久,写的程序都不怎么理想。
谁能告诉我,怎么判断“重复次数最多的单词及其重复次数”?
谢谢。
...全文
216 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上多了。。。
C++ primer 第4版 原书+习题解答+源码 清晰pdf,非影印。 本书是久负盛名的C++经典教程引,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。   本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E.Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。   对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。   第1章 快速入门   1.1 编写简单的C++程序   1.2 初窥输入/输出   1.3 关于注释   1.4 控制结构 入   1.5 类的简介   1.6 C++程序   小结   术语   第一部分 基本语言   第2章 变量和基本类型   2.1 基本内置类型   2.2 字面值常量   2.3 变量   2.4 const限定符   2.5 引用   2.6 typedef名字   2.7 枚举   2.8 类类型   2.9 编写自己的头文件   小结   术语   第3章 标准库类型   3.1 命名空间的using声明   3.2 标准库string类型   3.3 标准库vector类型   3.4 迭代器简介   3.5 标准库bitset类型   小结   术语   第4章 数组和指针   4.1 数组   4.2 指针的引入   4.3 C风格字符串   4.4 多维数组   小结   术语   第5章 表达式   5.1 算术操作符   5.2 关系操作符和逻辑操作符   5.3 位操作符   5.4 赋值操作符   5.5 自增和自减操作符   5.6 箭头操作符   5.7 条件操作符   5.8 sizeof操作符   5.9 逗号操作符   5.10 复合表达式的求值   5.11 new和delete表达式   5.12 类型转换   小结   术语   第6章 语句   6.1 简单语句   6.2 声明语句   6.3 复合语句(块)   6.4 语句作用域   6.5 if语句   6.6 switch语句   6.7 while语句   6.8 for循环语句   6.9 do while语句   6.10 break语句   6.11 continue语句   6.12 goto语句   6.13 try块和异常处理   6.14 使用预处理器进行调试   小结   术语   第7章 函数   7.1 函数的定义   7.2 参数传递   7.3 return语句   7.4 函数声明   7.5 局部对象   7.6 内联函数   7.7 类的成员函数   7.8 重载函数   7.9 指向函数的指针   小结   术语   第8章 标准IO库   8.1 面向对象的标准库   8.2 条件状态   8.3 输出缓冲区的管理   8.4 文件的输入和输出   8.5 字符串流   小结   术语   第二部分 容器和算法   第9章 顺序容器   第10章 关联容器   第11章 泛型算法   第三部分 类和数据抽象   第12章 类   第13章 复制控制   第14章 重载操作符与转换   第四部分 面向对象编程与泛型编程   第15章 面向对象编程   第16章 模板与泛型编程   第五部分 高级主题   第17章 用于大型程序的工具   第18章 特殊工具与技术   附录 标准库   索引

65,210

社区成员

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

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