• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語でこのプログラムを完成させるには)

C言語で乱数のヒストグラムを表示するプログラムの作成方法

このQ&Aのポイント
  • C言語初心者のため、C言語で乱数のヒストグラムを表示するプログラムを作成したいが、うまくいかない。
  • プログラムでは、1から6までの乱数を100回発生させて、各乱数の出現回数をカウントする。
  • プログラムの問題点が分からないため、改善方法を教えてほしい。

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

  • ベストアンサー
  • take0_0
  • ベストアンサー率46% (370/804)
回答No.2

まずここ。whileの継続条件が常に真なので無限ループになりますね。 r=6; while (6-- > 0) putchar('*'); 正しくは、 r=6; while (r-- > 0) putchar('*'); でしょうけど、何をしたいのかわかりません。1行にアスタリスクが6個ずつ、100行並ぶだけです。 意図としては、ここでrnd関数を呼んで乱数値を取得、区間で分類してhist[]の値を加算していくことになるかと思います。 もう一点気になるのが、hist[0]を無視していることです。 配列の仕様を確認してみてください。

shorinji36
質問者

お礼

回答有難うございます。

その他の回答 (3)

回答No.4

私もC言語初心者です。下の説明文がやくにたちますか。

参考URL:
http://gh33-it.blogspot.com/
回答No.3

for (i=0; i<100; i++) { r=6; while (6-- > 0) putchar('*'); putchar('\n'); } だけど、 for (i=0; i<100; i++) { printf(" %d", rand()); //hist[rand()%6+1] +=1; } putchar('\n'); どうやれば、hist[] に入れることができるかを考えてみると良いんじゃないかな。 http://www2.ocn.ne.jp/~mochi/menu/c/c14.html

shorinji36
質問者

お礼

回答有難うございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「上手くいかない」とは, 何がどう「上手くいかない」のですか?

関連するQ&A