微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 解释频率[toupper(new_letter) – ‘A’];

所以我一直在寻找一个问题的解决方案,一步涉及计算每个独特字母的频率.我到处都有相同的数组递增器.我没有看到这种形式,也没有完全理解它.我试图找到格式的支持文档,但无法弄清楚它实际上做了什么.我可以让它工作;但是,我不确定每个peice代表什么.

Peice我有问题理解是这里的括号里面发生了什么.

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

频率是阵列的地方

例如:count number of times a character appears in an array?

算法:

>打开文件/读一封信.
>搜索新字母的字母数组.
>如果新信件存在:增加频率槽
那封信:频率[toupper(new_letter) – ‘A’];如果是新的
字母丢失,添加到数组并将频率设置为1.
>处理完所有字母后,打印出频率数组:`

cout<< '一个'
   index<< “:”<<频率[指数]<< ENDL;
任何帮助理解都会很有意义.

解决方法

这只是一个数组.也许令你困惑的部分是toupper(new_letter) – ‘A’我们在这里做的是 – 我们将字母转换为upercase,然后从结果的ASCII代码中减去’A’的ASCII代码.因此,结果是[0-25]范围内的数字.之后,通过将其添加到’A’,我们得到origianl大写字符.至于算法的其余部分 – 这就像 counting sort一样.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐