c++ - 在 C++ 控制台应用程序中计算单词中的字符数

标签 c++ histogram

这是我试图解决的问题:

让用户输入一堆单词,想输入多少就输入多少,直到输入 0。之后 也就是说,计算每个字母在所有单词中出现的次数,并打印出每个字母及其出现次数的列表。示例:

Enter word> hello
Enter word> lemon
Enter word> goodbye
Enter word> 0
Letter: h appears 1 times
letter: e appears 3 times
...

至此我不得不把所有的词放在一起,并进行了比较。问题在于,将所有单词放在一起并输入 0 后,我无法计算组合字符串中的每个字符。我做了一些研究,我读到要执行此操作需要 vector ,但我不明白如何使用它们。

我已经尝试了一个星期才把它弄好,但无济于事。 C++ 与我学过的所有其他语言有点不同(至少对我而言)。

最佳答案

您可以使用 std::unordered_map ,以字符为键,以计数器为值。对于您读取的每个字符串,只需对其进行迭代并增加对应于映射中字符的值。

这样你实际上不需要存储单词。

关于c++ - 在 C++ 控制台应用程序中计算单词中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972768/

相关文章:

gnuplot - 如何使用 GNUPlot 绘制 ApacheBench 输出文件的响应时间直方图?

c++ - 在 DDD 中显示 STL 类

c++ - 如何使用类中定义的 "operator X()"?

c++ - 无法按 NULL 字节 (\0) 拆分

javascript - glGetHistogram WebGL/C++

python - 如何在同一张图上绘制 4 个直方图

c++ - PCA 输出特征向量和特征值

c++ - 为什么我不能用 `= delete;` 声明一个纯虚函数?

python - python中的对数y轴箱

plot - 水平(横向)直方图 - gnuplot