Rand() - не рандомит как должен

hosm

* so what *
18.05.2009
2 442
9
#2
а о "затравке" для рендома в виде seed или randomize (не помню, как правильно в синтаксисе с++), никогда не слышали?
 
M

Mice

Гость
#3
Включить <ctime> и <cstdlib>, после чего, до использования функции rand(), нужно затравить генератор начальным значением (в данном случае затравляем чем - то, связанным с системным временем).
Это делает функция srand (time(NULL)), по крайней мере я делаю именно так
 

Гость
#5
Вот пример кода:
C++:
#include <stdlib.h>
#include <time.h>
#include <iostream.h>

void main (void)
{
srand ((unsigned) time (NULL));
cout << rand () << endl;
}
Выдаёт случайное число около 32000.
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#6
При чем если нужно число от 0 до (<) N, то получается:
C++:
rand() % N