-3
単語の各文字の出現回数を数え、文字の出現の前半を1でマークしようとしています。中間(単語が奇数の場合) 2、例えば3単語内の文字の頻度
と後半:
が偶数:ddaaddあるべき111333
奇数:dddaaは12313
なければならない。これは、これまで私が持っているコードであります(私は単語のすべての文字の頻度を数えた; fo dldaddの場合、私の出力は: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行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。詳しい読書:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
この "質問" – Ceros
@ NathanOliver:私の答えに対する公正なコメント - 私はそれを削除しました。 –