行尾字数统计 (C++)
End of Line Word Counting (C++)
我需要创建一个程序来读取文件,计算其中的单词,并列出唯一的单词及其频率。该程序将任何没有空格的字符系列视为一个单词(因此类似于"hello"之类的东西)。"你好"和",.?"都是不同的词)。我在使用 if 语句并在行尾添加一个单词以增加字数时遇到困难。它计算后面有空格的单词,但不计算"/n"。这是我计算单词的代码:
in.get(last);
in.get(current);
while(!in.eof())
{
if((current == ' ' && last != ' ') || (current == '/n' && last != ' ' && last != '/n'))
count++;
last = current;
in.get(current);
}
这是一种痛苦的方法... 您最好读取字符串,这些字符串由空格自动分隔。
string word;
map<string,int> freq;
while( in >> word ) {
freq[word]++;
}
请注意,在您给出的示例中,您使用了 '/n'
,这应该是'n'
。 在我的示例中,您甚至不需要它。
我会创建ca地图,http://www.cplusplus.com/reference/map/map/,如果这个词存在,则增加频率,否则将这个词添加到地图中。
通过这种方式,您可以快速检查单词是否存在,以获得唯一的列表。
相关文章:
- 为什么 gcovr 会生成空覆盖率统计信息?
- Qt 错误:QSqlQuery::value:尝试从表中检索统计信息时未定位在有效记录上 (QComboBox)
- 在C++中获取 Linux 网络统计信息
- 字数统计函数在将单词添加到一组唯一单词时遇到问题
- 使用排序C++进行字数统计
- 我想重置一个C++结构统计,我可以以某种方式使用 stat() 语法吗?
- C++字数统计程序使用C字符串错误在程序运行后
- 在 C++ 年的 Linux 中实现对非基于文本的文件作为 wc 的字数统计
- 避免在统计数据和重命名之间进行TOCTOU(检查时间,使用时间)
- 使用多集__gnu_pbds的顺序统计树
- 使用 boost::累加器::统计来查找数组的中位数
- 如何在 Windows 上从 C++11 统计信息对象的文件序列号中查找文件名
- 是否有一些有意义的统计数据来证明保持有符号整数算术溢出未定义是合理的
- Magick++ ImageMagick 7.0.5-4 Q16 的统计数据x86_64问题
- 替换(或重新实现?)std::函数用于某些统计和测试
- C++ 中的统计模拟
- C++的有效字数统计多线程
- PCL 和 CMake 的问题:链接时未定义统计异常值删除
- 在调试中,如何知道对函数的重复调用中参数的统计数据(max-min,average,distribution..)
- ifstream 的意外行为(字数统计)