C初心者

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
わかりません

C初心者

#1

投稿記事 by わかりません » 15年前

X=(double)rand()/RAND_MAX; というのは、0~1の間で乱数を発生させますよね。
これを、-1以上1以下の乱数で与えたい場合はどうようにしたら良いのでしょうか?

sizuma

Re:C初心者

#2

投稿記事 by sizuma » 15年前

0~2までの範囲で乱数を発生させて、それから1引けばいいのではないでしょうか?

Dixq (管理人)

Re:C初心者

#3

投稿記事 by Dixq (管理人) » 15年前

題名が「C初心者」、お名前が「わかりません」というのはちょっとわかりにくいのではないでしょうか・・。
トピック名は後から人が見てもわかりやすい名前に、
お名前は今後お使いになる中でふさわしい名前にしてください。

ところで、質問の内容を実現する方法は沢山あるでしょうけど、
分母(RAND_MAX)を小さくするか、生成した0~1の数に増やしたい数をかければいいのではないでしょうか。
0~2の数にしたいなら、分母を1/2にすればいいわけで、
生成した0~1を0~2にするには2をかければいいわけです。

後はsizumaさんの仰るとおりです。

閉鎖

“C言語何でも質問掲示板” へ戻る