gpt4 book ai didi

c++ - 解释频率[toupper(new_letter) - 'A' ]++;

转载 作者:太空狗 更新时间:2023-10-29 20:14:47 26 4
gpt4 key购买 nike

因此,我一直在寻找一种解决方案,以解决一个步骤涉及计算每个唯一字母出现频率的问题。我去的每个地方都有相同的数组增量器。我没有见过这个表格,也不完全理解它。我试图找到该格式的支持文档,但无法弄清楚它的实际作用。我可以让它工作;但是,我不确定每 block 代表什么。

Peice 我在理解这里括号内发生的事情时遇到了问题。

frequency[toupper(new_letter) - 'A']++;

其中频率是一个数组

示例来自:count number of times a character appears in an array?

算法:

  • 打开文件/阅读一封信。
  • 在字母数组中搜索新字母。
  • 如果新字母存在:增加频率槽那封信:频率[toupper(new_letter) - 'A']++;如果新的缺少字母,添加到数组并将频率设置为 1。
  • 处理完所有字母后,打印出频率数组:`

    cout << 'A' + index << ": "<< frequency[index] << endl;

任何有助于理解的帮助将不胜感激。

最佳答案

这只是一个数组。也许让您感到困惑的部分是 toupper(new_letter) - 'A'我们在这里做的是 - 我们将字母转换为大写,然后减去 'A' 的 ASCII 码来自结果的 ASCII 代码。因此,结果是 [0-25] 范围内的数字。 .之后将其添加到 'A'我们得到原始大写字符。至于算法的其余部分 - 这只是类似于 counting sort 的东西.

关于c++ - 解释频率[toupper(new_letter) - 'A' ]++;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com