I'm coming up on infra-red, Forget your running, I will find you
Скажите, пожалуйста, как пользоваться стандартными srand и rand в Visual C++ 2008 Express? Я хочу получить случайное значение для некой переменной, вот что я пишу, например:
srand(0); a=rand()-50;
Но он мне выдает всё время одно и тоже значение при каждом запуске программы. Почему так? Как правильно воспользоваться srand и rand? Приведите, пожалуйста, код.
srand(0); a=rand()-50;
Но он мне выдает всё время одно и тоже значение при каждом запуске программы. Почему так? Как правильно воспользоваться srand и rand? Приведите, пожалуйста, код.
-
-
02.10.2009 в 10:15-
-
02.10.2009 в 10:41srand( (unsigned)time( NULL ) );
-
-
02.10.2009 в 13:25mikluho, спасибо большое, работает) почему мы пишем то, что в скобках у вас? Мы как-то связываем с текущим временем?
-
-
02.10.2009 в 13:34-
-
03.10.2009 в 11:38Есть ли в той же среде программирования источники истинно случайных чисел, как например линуксоидный urandom?
-
-
03.10.2009 в 11:40-
-
03.10.2009 в 11:48Да? Вы уверены? Значит квантовая механика ложная теория? И тепловой шум предсказуем?
А вообще я уточнил про random.
Насчет urandom'а ошибся, кстати, это как раз ГПСЧ в линукс. А random это ГСЧ.
-
-
03.10.2009 в 12:00-
-
03.10.2009 в 12:11А тепловой шум?
-
-
03.10.2009 в 12:18-
-
03.10.2009 в 12:26-
-
03.10.2009 в 19:55Линукс использует счетчик тактов процессора. Также хороший тепловой шум дает АЦП на звуковой карте. Правда мощность у них не очень большая, кажется порядка нескольких тысяч случайных байт в секунду.