乱数を生成しようとする奇妙な動作 と時々全く同じ または同じ時刻に作成された問題がありますか? VC 2012C乱数発生器で時々同じ番号が生成される
for (int i = array_size; i < (array_size); i++)
{
srand((unsigned int)time(NULL));
int rw = rand() % 960 + (20); //returns a pseudo-random integer between x resolution size 0 -> width
int rh = rand() % 640 + (20); //returns a pseudo-random integer between x resolution size 0 -> height
lwsl_notice("c:%d width %d height %d\n",c, rw, rh);
c++;
}
を使用して、出力は次のようになります。for
ループのうち
[2016/06/30 09:39:09:7274] NOTICE: c:0 width 606 height 567
[2016/06/30 09:39:09:7274] NOTICE: c:1 width 606 height 567
[2016/06/30 09:39:09:7274] NOTICE: c:2 width 606 height 567
[2016/06/30 09:39:09:7274] NOTICE: c:3 width 606 height 567
ループ外で 'srand'を使用する必要があります。 – ameyCU
oopsより正確なdupは[ループごとの反復ごとに同じ乱数](http://stackoverflow.com/q/9251117/995714)、[rand()は複数の関数呼び出しで一貫性があります](http://stackoverflow.com (srand(time(NULL))はシード値を十分に速く変更しない](http://stackoverflow.com/q/5574914/995714)、[srand()一度ですか?](http://stackoverflow.com/q/7343833/995714) –