Консультация № 113849
13.12.2007, 17:26
0.00 руб.
0 2 2
Почему в с++ так отвратительно работает ф-я random()

Обсуждение

Неизвестный
13.12.2007, 18:13
общий
это ответ
Здравствуйте, Глымов Антип!
Если говорить о С/С++ в целом, то нет функции random, есть rand. Функция rand работает вполне нормально, если грамотно проиницииализировать генератор псевдослучайных чисел, например, системным временем (надо подключать time.h).
<code>
srand (unsigned int (time (NULL)));
int a = rand();
int b = rand ();
</code>
В этом примере a и b получат разные значения. Если надо получить значение из какого-то диапазона, можно сделать так:
<code>
a = 5 + rand()%(101-5);
</code>
Тогда число a получит значение из диапазона от 5 до 100.
Ну а если уточните, в чём отвратительность работы этой функции, тогда можно будет говорить подробнее.
Неизвестный
13.12.2007, 18:17
общий
это ответ
Здравствуйте, Глымов Антип!
Перед использование функции random() пропишите randomize();
Или используйте функцию rand() вместо random(), перед которой необходимо прописать srand(int n), где n- начальное значение, используемое для выработки рандома. Так вы получите более-менее случайные числа
Форма ответа