每个字母的重复次数

Jan*_*ane -9 c++ numbers counting

你知道如何在C++中找到一个单词中每个字母的重复次数吗?例如,这个词是密西西比.

M - 1

我 - 4

S - 4

P - 2

Bal*_*arq 6

由于这几乎肯定是功课,我只会给出整体情况.

当然,创建一个矢量,每个可能的字母一个(因为你说英语,可能26位置矢量就足够了).将所有位置初始化为零.

遍历字符串,对于每个字母,为每个位置添加一个到与您正在读取的字符串位置中的字母对应的向量.例如,如果您正在阅读'a',请将1加到第一个位置.对于'b',将1加到第二个位置,依此类推.请注意,你不应该关心大案和小案.

到达字符串的末尾?精细.现在遍历向量并显示每个非零位置的计数.你可以把相应的字母放在一边.

请记住,所有简单字母都以ASCII/Latin1/UTF-*的字母顺序排列,因此'a'将为您提供相应字母的编号.(x - 'a')将为您提供向量中字母的位置.不要好奇哪个准确的值,那是不可移植的.