ごめんなさい、カテゴリは JavaScript でしたね…。見落としてました。
ならば次のとおりでOKです。下に書いた(2)は読み飛ばしてください。
for(i = 0; i < a ; i = i + 1) {
if (key == tango[i]) {
hindo[i] = hindo[i] + 1;
break;
}
}
if (i >= a) {
tango[a] = key;
a = a + 1;
}
言語は C で良いのでしょうか?ならば、こんな感じです。
for(i = 0; i < a ; i = i + 1) {
if (strcmp(key, tango[i]) == 0) {
hindo[i] = hindo[i] + 1;
break;
}
}
if (i >= a) {
tango[a] = key;
a = a + 1;
}
ポイントは次のとおりです。
(1) for の中の条件は i <= a ではなく i < a です。C言語では、配列に a 個の要素がある場合、tango[0] ~ tango[a - 1]となるためです。
(2)key と tango[i] を「==」で比較してしまうと、ポインタを比較するだけで文字列の比較になりません。そこで、文字列の比較には strcmp 関数を用います。
(3)ループを a 回回っても一致する単語がなかった場合に、tango[a] に新しい単語を登録すれば良いので、単語を登録する部分はループの外に書き、if の条件は i >= a とします。
お礼
お礼が遅れすいませんでした。 迅速かつ丁寧な回答で、大変助かりました。 おかげ様でうまくいきました! また質問をすることがあるかと思いますが、 その節はよろしくご教授願います。