• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語についての質問です。)

C言語で英文X,Y,ZでY,ZのどちらがXに近いかを判定するプログラムの修正方法

このQ&Aのポイント
  • C言語で英文X,Y,ZでY,ZのどちらがXに近いかを判定するプログラムの修正方法を教えてください。
  • 現在のプログラムでは、theやaによって誤差が出るため、単語長が5以上のものについてだけ調べるようにしたいです。
  • また、他にも精度を上げる方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いいね、いい感じに堕落してるね。 単純に長さが5以上の単語だけ比較するなら以下のように。 精度をあげる方法はまた考えとくよ。 int compareList( WordList* list1, int listSize1, WordList* list2, int listSize2, WordList* list3, int listSize3 ) { printf( "X.txtに出現する単語(数)\tY.txt出現数(point)\tZ.txt出現数(point)\n" ); int count2 = 0; int count3 = 0; for( int ii = 0; ii < listSize1; ii++ ) { if( 5 > strlen( list1[ ii ].word ) ) ←追加 continue; ←追加 ・・・ } return count2 - count3; }

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> コードを書いた ということは、あなたはgerugugu84さん?そうなると、この質問と回答は自作自演の通報ものになりますが? 別人なら「教えていただいた」とか「書き写した」とかですよね? まあ、本人が気にしてる様子がないのでいいですけど。 > fflush(stdin); これ、ちゃんと動作することを確認した上で使ってますか? stdinをfflushした場合、本来は何が起こるか未定義です。一部環境で入力バッファをクリアしてくれるそうですが。 こんなコードを何の説明もなく紹介している参考書は廃品回収に出しましょう。 本題。 手段は大きく2つ。 一つは既に出ている「比較するときに単語長を調べて無視する」 もう一つは、「そもそも単語登録しない」 > /*新しい単語の場合は単語リストに登録する*/ > if( ii >= *listSize ) 登録してるのはこのあたりなので、条件を付けたす、というのが方法の一つ ところで、単語の木とか言ってたのはどうしたんでしょう?

すると、全ての回答が全文表示されます。

関連するQ&A