まとめ:単語の出現頻度
CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 29/56。
チャレンジ
簡単std::map を使用して、文章内の単語の出現頻度をカウントするプログラムを作成してください。プログラムは、各ユニークな単語が何回出現するかを追跡し、特定の単語の頻度を報告します。
以下の入力が提供されます:
- テキスト内の単語数を表す整数
n - テキスト内の単語を表す
n個の文字列 - 頻度を確認する対象の単語を表す文字列
プログラムは以下の手順で行う必要があります:
wordCountという名前のstd::map<std::string, int>を作成する- 単語の数を読み込む
- 各単語について、それを読み込み、角括弧演算子とインクリメントを使用してマップ内のカウントを更新する
- 確認対象の単語を読み込む
- 以下の形式を使用して、対象の単語の頻度を出力する
以下の正確な出力形式を使用してください:
The word "[target_word]" appears [frequency] times対象の単語がマップ内に存在しない場合、角括弧演算子でアクセスすると自動的にカウント 0 のエントリが作成されるため、単語が存在するかどうかを事前に確認せずに安全に頻度を出力できます。単語を読み込む際に wordCount[word]++ を使用してカウントをインクリメントしてください。これにより、新しい単語の場合はカウント 1 の新しいエントリが作成され、既に出現した単語の場合は既存のカウントがインクリメントされます。
自分で試してみよう
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// 単語の数を読み込む
int n;
cin >> n;
// 単語の出現頻度を格納するマップを作成する
map<string, int> wordCount;
// TODO: ここにコードを記述してください
// n個の単語を読み込み、マップ内のカウントを更新します
// その後、対象の単語を読み込み、その出現頻度を出力します
return 0;
}