一般的な方法
*1から6までの整数の数字をランダムに取得int dice = rand() % 6 +1;
一番よく見る乱数の作り方
もうちょっといい方法
*1から6までの整数の数字をランダムに取得int dice = (int)(6.0 * rand()/(RAND_MAX+1.0)) +1;
この方法の方がシステムに依存せず乱数を取得できる・・・らしい
それに最大値が小数点で桁数が分からない場合でも使える
*0から12.345の少数を含む数字をランダムに取得
int r = 12.345 * rand()/(RAND_MAX+1.0);
乱数の初期化
もはや常識レベルの話ではあるけど乱数の初期化としてsrand(int seed);
を使って乱数の種(seed)を設定する必要がある
一般的なのはtime(NULL)を使ってその時の時間をシード値にすること
srand((unsigned int)time(NULL));
これをプログラムの最初に一回やっとけばOK
0 件のコメント:
コメントを投稿