单词中的字母频率

时间:2016-04-05 16:58:49

标签: c++

我试图计算一个单词中每个字母的幻影数量,然后标记一个字母的前半部分用1表示,中间(如果单词是奇数)用2表示,下半部分用3。

例如:

偶数:ddaadd应为111333

奇数:dddaa应为12313

这是我到目前为止的代码(我设法计算单词中每个字母的频率;例如,对于ddaadd,我的输出是:442244):

#include <iostream>
#include <iomanip>
#include <map>
#include <string>
#include <cstdlib>

using namespace std;

int main( )
{

    map <char, int> letters,letters2;
    string cuvant;
    cout<<"Scrie un cuvant"<<endl;
    getline( cin, cuvant );

for (  int i=0; i< cuvant.size(); ++i )
{
   letters[cuvant[i]]++;
}

for (  int i=0; i< cuvant.size(); ++i )
{
   cout<<letters[cuvant[i]];
}


}

1 个答案:

答案 0 :(得分:0)

好的,你得到了第一部分。您可能想学习调试器以查看发生了什么。我推荐visual studio 2015和tutorial here

我的猜测是,如果两边都有字母(就像它的镜像一样),你要做的就是将字符串切成两半。我可以尝试稍后尝试,但是现在,尝试编写一个算法,检查字符串的前面和后面是否有相同的字符。继续尝试和推动。