Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

random [D7, 2000, XP, 2003]


Страницы:   1 2 3

antonn (work) ©   (2008-01-06 16:51:00) 

Фигня какая то:) На некоторых процессорах random() в цикле возвращает одни и теже значения. Насколько я понял, просто не успевает пересчитать из-за малого времени выполнения (фиг знает, как это объяснить, но слиип(1) возвращает к жизни функцию, но все тормозит с ним). Подскажите быструю функцию для получения случайного числа (интервал 0..1, например, шаг 1/360 - т.е. один градус для окружности), чтобы выдавала для 4-10 элементов более-менее случайные значения.


homm   (2008-01-06 17:39:00) [41]

> [0] antonn (work)   (06.01.08 16:51)
> На некоторых процессорах random() в цикле возвращает одни
> и теже значения.

почему одни и тедже значение перестали быть случайнми?


{RASkov}   (2008-01-06 17:39:00) [42]

> [3] Loginov Dmitry ©   (06.01.08 17:30)
> В результате получаются совершенно разные элементы:

А ты, Дим, как проверял? с каждым новым запуском программы, или "тупо" несколько раз на кнопку понажимал...
? :)
И как это у тебя двойка-то вообще получилась - первый результат....


Loginov Dmitry   (2008-01-06 17:32:00) [43]

> На некоторых процессорах random() в цикле возвращает одни
> и теже значения.


А Randomize в этом цикле случайно не крутится?


Loginov Dmitry   (2008-01-06 17:30:00) [44]

> Вообще-то такое поведение рэндома на всех процессорах....


procedure TForm1.Button1Click(Sender: TObject);
var
 a: array[1..20] of double;
 I: integer;
begin
 for I := 1 to 20 do
   a[i] := random;

 ShowMessage(floattostr(a[1]));
end;


В результате получаются совершенно разные элементы:
(2.3283064365e-10, 0.031379939523, 0.86104846722, 0.20258096512, 0.2729212672, 0.67165441858, 0.31869127112, 0.16179546528, 0.37223835872, 0.42567376746, 0.082012159517, 0.47479406465, 0.070569330128, 0.84085443476, 0.059724234743, 0.29329657182, 0.9172847087, 0.3679064787, 0.77466489724, 0.32792553585)


DVM   (2008-01-06 17:04:00) [45]

Попробуй использовать в паре с, например, QueryPerfomanceCounter


{RASkov}   (2008-01-06 17:01:00) [46]

> [0] antonn (work)   (06.01.08 16:51)
> На некоторых процессорах random() в цикле возвращает одни
> и теже значения.

Вообще-то такое поведение рэндома на всех процессорах....
И Рандамайз не помогает?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо