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

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

Что нибудь вместо Random [D6, Win95/98]


Sound ©   (2002-04-10 00:48:00) 

Проблема:Надо сгенирировать случайное число, но Random не подходит так как запуская каждый раз программу заново я получаю одну и ту же последовательность чисел, и при этом некоторые из них повторяются чаще... ЧТО ДЕЛАТЬ?


Poirot   (2002-04-12 21:00:00) [1]

Берём с полки книжечку господина Кнута (2 том - для непосвещённых) и создаём (скатываем быстрый) и приэтом с приличным периодом рандом... на http://www.lib.ruлежит но в TeX...


Yuriy   (2002-04-12 18:41:00) [2]

Есть у меня специальная компонента, привожу описание -

This aims to supply a Borland Delphi translation of Alan Miller"s Random Module for FORTRAN-90.
The following Random Number Generators:

- Normal (Gaussian)
- Gamma
- Chi-squared
- Exponential
- Weibull
- Beta
- t
- Multivariate Normal
- Generalized inverse Gaussian
- Binomial (2 different ones)
- Negative Binomial
- von Mises
- Cauchy

Если еще нужна - пиши на мыло - вышлю.


MBo   (2002-04-11 06:57:00) [3]

>Sound
такая последовательность будет, если вызываешь randomizize каждый раз перед random. Делай это 1 РАЗ -как madburro сказал
или, скажем, в FormCreate


madburro   (2002-04-11 00:20:00) [4]

Pishes v samom nizu
...
initialization
Randomize;
end.

Rabotaet stopudovo.


dymka   (2002-04-10 20:58:00) [5]

Делай свой алгоритм случайных чисел... бери за основу число миллисекунд и вперед:
1. Конгруэнтный метод - поищи в инете, должен быть.
2. Методы оперирование с дробной частью, типа
Xn+1 = Frac(Xn * 37 + 0.1234567), где Frac функция взятия дробной части. Поэсперементируй с числами где 37 и 0.1234567.
3. Методы опирающиеся на ошибки вычисления... Хотя возможно уже не актуальны...
Для каждой последовательности построй гистограмму, для оценки случайной последовательности... Можно рассчитать дисперсию...
Надеюсь тебе нужно равномерное распределение???


Sound   (2002-04-10 20:51:00) [6]

Ну латно, хотя кто знает посоветуйте что ещё... А то вдруг и енто не поможет.


Di_wind   (2002-04-10 20:34:00) [7]

есл неустравивает бери рандомайзь массив, а потом встряхивай его ещё. Берешь 2 случайных индекса в массиве(Randomize :>)и меняешь элементы с этими индексами местами.


DeMoN-777   (2002-04-10 20:28:00) [8]

Да народ прав Randomize вот что надо юзать
вобщем SPeller © прав
Ну а если тебе не понятно что-то мыль я те исходники кину...


DeMoN-777   (2002-04-10 20:27:00) [9]

Да народ прав Randomize вот что надо юзать
вобщем SPeller © прав
Я думаю вопрос закрыт =)


Anatoly Podgoretsky   (2002-04-10 20:26:00) [10]

Sound © (10.04.02 20:10)
Полностью случайная последовательность программными метода недостижима
Ты ни разу не привел свой код


Sound   (2002-04-10 20:26:00) [11]

Так я в принципе и делаю, но результата нет :(


SPeller   (2002-04-10 20:21:00) [12]

Randomize;
for i:=1 to n do
a[i]:=random(10);


Sound   (2002-04-10 20:10:00) [13]

Снова трабла, необходимогенерировать очень много случайных чисел за короткий промежуток времени (Скажем около 100 чисел) и они начинают повторяться:
2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4
Ну типа того, а необходима полностью случайная последовательнасть чисел.


SPeller   (2002-04-10 08:00:00) [14]

Randomize;
....
x:=random;


Sound   (2002-04-10 01:42:00) [15]

Ну уже получше спасибо :)


MBo   (2002-04-10 01:34:00) [16]

инициализирует генератор сл. чисел (исходя из времени)


Sound   (2002-04-10 01:31:00) [17]

А для чего он необходим (просвятите):


SPeller   (2002-04-10 01:08:00) [18]

И RANDOMIZE не помогает ?


Sound   (2002-04-10 01:04:00) [19]

Оригенальней некуда :) А побыстрее и по меньше че нить можно придумать?


AlexDeRus   (2002-04-10 00:56:00) [20]

zapishi vse chisla v fail i ot tuda sravnivai s random elsi chislo odno i to zhe to kruti random eshe raz i tak dalee. raboteat medlenno no verno


Наверх

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