Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизЧто то непонятное с Random!!! Найти похожие ветки
← →
AM (2002-10-08 16:56) [0]Кто-нибудь сталкивался с таким?
После запуска программы Функция
Random(255);
всегда ПЕРВОЕ значение выдает 0. ВСЕГДА!!! Делал более 20 попыток. А слудеющие занчения нормально рандомит: 101, 28, 196, 250 ...
Это его нормальное поведение?
или что-то не так с ним, а может с компьютером?
← →
Начинающий програмер (2002-10-08 16:58) [1]А initialization randomize добавлял?
← →
AM (2002-10-08 17:01) [2]На самом деле он повторяет вооще все подряд:
0, 8, 219, 51 ... - и причем всегда это!!!
>>Начинающий програмер © (08.10.02 16:58)
>>А initialization randomize добавлял?
а это куда надо добавлять?
← →
still (2002-10-08 17:03) [3]сначала - randomize для инициализации
Числа поэтому и псевдослучайные, что вычисляются как
a[i+1] = F(a[i]), т.е. каждое последующее зависит от предыдущего.
randomize как раз устанавливает a[0], т.е. первое число в последовательность. Здесь алгоритм зависит, если не ошибаюсь, от системного времени.
Т.е. если хочешь, чтобы при каждом запуске программы вырабатывалась одинаковая последовательность чисел - не используй randomize (есть и такие задачи).
← →
Демонов Е.В. (2002-10-08 17:03) [4]просто перед использованием Random выполни строку randomize
← →
AL2002 (2002-10-08 17:05) [5]Или RandSeed(123);
← →
still (2002-10-08 17:08) [6]Маленькое дополнение - randomize нужно использовать ОДИН раз.
В противном случае (например, если перед каждым вызовом random поставить randomize) нарушится распределение чисел, т.е. равномерность последовательности будет еще хуже чем есть при использовании random
← →
AM (2002-10-08 17:09) [7]Всем спасобо,
Добился желаемого эффекта!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c