-4

特定の単語がテキストに出現する回数をカウントするプログラムを作成しようとしています。単語のリストは 1 つのテキスト ファイルにあり、テキストは別のファイルにあります。リスト内の単語と単語数は不明です。私の計画は、単語リストをmap<string,int>nameキーとしてさまざまな単語を持つスタイルのマップにし、マップ内の値を 1 ずつ増やすことです。

次に例を示します。

ファイル.txt:

This is the text the program will analyze with the other file. Fun stuff.

リスト.txt:

the
other
normal

プログラムを実行したときに期待される結果は次のとおりです。

name[the] = 3
name[other] = 1
name[normal] = 0

私が解決する必要がある主な問題は、テキスト ファイル内の単語からマップを作成する方法です。他のものは自分で整理できると思います。始める前にこれを整理する必要があるため、明らかに私のコードを表示することはできません。

また、これは課題ではないので、他の方法で自由に行うことができます。もっと効率の良い方法があれば教えてください!

4

3 に答える 3

0

ここでの多くは、単語リストに含まれると予想されるテキスト ファイルの割合によって異なります。ほとんどの単語がリストに含まれていると予想される場合は、@ DrewDorman のソリューションがうまく機能するはずです。

単語の小さなサブセットのみがリストに含まれると予想される場合は、かなり無駄になる可能性があります。このような場合、最初にリストの単語を (カウント 0 で) マップに挿入し、次にテキスト ファイルから単語を読み取るときに、マップ内の各単語を検索し、次の場合にのみカウントをインクリメントすることをお勧めします。その単語のエントリがマップに既に存在する場合。

于 2013-04-04T19:38:37.703 に答える