入力ファイルから文字の種類と頻度を記録するために使用するベクトル vec (256, 0) があります。したがって、3 A の場合、私の vec[65] は 3 の値を保持します。出力ファイルに、空でない文字の合計数と、それに続く ASCII 文字と発生頻度を書き込もうとしています。
int count = 0;
for (int i = 0; i < 256; i++)
if (vec[i] != 0) // if not 0 count it
count++;
// print the count as the first char in output file
outfile << count;
for (int i = 0; i < 256; i++)
if (vec[i] != 0)
outfile << (char) i << vec[i];
入力「a bb c」が与えられた場合、私が望むのは次のとおりです。
4a1b2c1
しかし、私が得るものは次のとおりです。
5
1 2a1b2c1
これを修正するにはどうすればよいですか?