计算单词中的字母

Counting Letters in Word

本文关键字:单词中 计算      更新时间:2023-10-16

我在如何开始创建程序时遇到了麻烦,该程序计算文件中单词中的.txt字母,如果字母数大于20,则打印它。有人知道如何启动或有一些类似的程序来帮助我吗?谢谢

一般来说,我通过以下方式启动程序:

#include <iostream>
void Pause();
int main()
{
std::cout << "My programn";
Pause();
return 0;
}
void Pause()
{
std::cout << "nnPaused. Press ENTER to continue.n";
std::cin.ignore(100000, 'n');
}

在我完成上述工作后,我添加内容。 假设采用 ASCII 编码,您可以做出一些假设:

int counts[256] = {0};
char c;
while (my_file.read(&c, 1))
{
counts[c]++;
}

上面的循环将计算文本文件中所有出现的字母。 下一个任务是打印数据:

for (int i = ' ' + 1; i < 127; ++i)
{
std::cout << "'" << ((char) i) << "': " << counts[i] << n;
}

这将打印出所有可打印字符的计数,从空格后的字符开始。

这是一个流行的开始作业,所以你应该能够在互联网上找到更多的例子。

编辑1:对于字
std::stringstd::map是你的朋友。

std::string word;
std::map<std::string, int> database;
while (my_file >> word)
{
std::map<std::string, int>::iterator iter;
iter = database.find(word);
if (iter != database.end())
{
map[word]++;
}
else
{
map[word] = 1;
}
}  

上面的循环构建了一个 [word, count] 对的数据库。 如果该单词存在,则计数递增。

下一部分是遍历数据库,只打印长度> 20 的单词。 这是留给读者的练习。