- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perlを使った単語頻度プログラム)
Perlを使った単語頻度プログラム
このQ&Aのポイント
- Perlを使った単語頻度プログラムの作成方法について教えてください。
- ファイル1には英文が記載されており、ファイル2には単語とその出現回数が記載されています。
- ファイル2の単語とファイル3での出現回数を照合し、出現回数の多い順に文をソートするプログラムを作成したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 1つ質問させてください。 Perlでプログラム言語をかけますか? 区切り文字などの指定がなかったので ご自分で編集することができるということであれば ざっくりとプログラムを回答させてもらいます。 EOSは改行とありますが、level表記の後には改行はないのでしょうか? Car car level1 Airplane airplane level1 Snacks snacks level2 ... [改行] Upon upon level3 ということでしょうか? あと、要望の確認ですが、 1.三つのファイルがあります。 2.ファイル2を読み込んでファイル2内の第二引数を配列Aに取り出します。 3.ファイル3を読み込んで単語と、出現回数のハッシュBに取り出します。 4.配列Aの単語がハッシュBのキーと一致する(単語で同じものがあれば)場合 ハッシュBの値を加算してハッシュB2をつくります。 5.ファイル1を配列Cに読み込みます。 --------------------------------------- ここまではなんとなくわかるのですが、それ以降がよくわかりませんので わかりやすく説明していただけると助かります。 (該当行というのが不明なのですが)ハッシュBのキー(もしかしたら配列A)の単語が 含まれている配列Cを探し出す。(複数行含まれている場合は1つだけ?) 該当の行(配列Cの行番号のこと?)と、EOSまでの出現回数(これはをハッシュB?それともハッシュB2??)を出力し、その都度、出現回数の多い順に文をソートするプログラム
補足
質問文が不明瞭ですみませんでした。 >EOSは改行とありますが、level表記の後には改行はないのでしょうか? level の後には改行となっています。 Car car level1 ¥n Airplane airplane level1 ¥n Snacks snacks level2 ¥n ... EOS ¥n Upon upon level3 ¥n > 該当行というのが不明なのですが)ハッシュBのキー(もしかしたら配列A)の単語が 含まれている配列Cを探し出す。(複数行含まれている場合は1つだけ?) 複数行にわたって含まれている場合は1つだけでお願いします。 > 該当の行(配列Cの行番号のこと?)と、EOSまでの出現回数(これはをハッシュB?それともハッシュB2??)を出力し、その都度、出現回数の多い順に文をソートするプログラム 出現回数はハッシュB2でお願いします。