0

strcmpを使用して配列の単語を比較しようとしています.Imは、配列に複数回出現する各単語を1回だけ出力しようとしているので、一意の単語の数を判断できます.配列を検索して、見つかった各コピーを出力します。たとえば、単語「the」が配列内に 4 回ある場合、「the」を 3 回出力し、string1「the」がある次の場所に移動すると、 2回印刷するなど。

4

2 に答える 2

2

char 配列を に変換std::stringし、印刷する代わりにstd::set. 次に、セット内の各要素を出力します。

于 2011-09-18T04:22:01.650 に答える
1

宣言を追加してよかった、

見た目からすると、words[][] が冗長で、物事を不必要に複雑にしているように見えます。一意の単語を取得することのみに関心がある場合は、代わりに、遭遇した単語で辞書を作成して strtrok から返されたものを処理するだけです

辞書は、一意の単語を含む最大サイズの配列と、配列が空の場合は 0 から始まるインデックスのような単純なものにすることができます。strtok が単語を返すたびに、配列を調べて、strcmp を使用して単語を探します。存在しない場合は、配列の最後に追加してから、インクリメントしてからインデックスを作成します。

そしてボブはあなたのおじです:)

于 2011-09-18T04:47:05.317 に答える