Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.21;
Скачать: CL | DM;

Вниз

---|Ветка была без названия|---   Найти похожие ветки 

 
h@1f-e1f ©   (2003-08-07 09:57) [0]

Нужно сделать рандомайзер, который будет выбрасывать числа (от 1 до 4) с разным процентом вероятности(заданным) Кто-нибудь знает как такое осуществить?


 
MBo ©   (2003-08-07 10:00) [1]

j:=random(100);
case j of
0..9:k:=1; //10%
10..29:k:=2;//20%
...



 
h@1f-e1f ©   (2003-08-07 10:02) [2]

Так не получится! Число процентов различно!


 
Prov ©   (2003-08-07 10:04) [3]

Тут нечего осуществлять, если чесно, всё довольно просто:


procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
Form1.Edit1.Text:=IntToStr(Random(4));
end;


 
MBo ©   (2003-08-07 10:06) [4]

>Так не получится! Число процентов различно!
А у меня почему-то получается ;))


 
h@1f-e1f ©   (2003-08-07 10:07) [5]

Тут нечего осуществлять, если чесно, всё довольно просто:
Это простой рэндом, а мне нужно, скажем чтобы 1 выпадалос вероятностью в 35% 2-с вероятностью в 28% 3-с вероятностью в 20% итд


 
Digitman ©   (2003-08-07 10:07) [6]


> h@1f-e1f


вероятностное распределение задано ф-цией или таблично ?
если ф-цией - делай по аналогии с RandG()
если таблично - см.
> MBo © (07.08.03 10:00)



 
HolACost?   (2003-08-07 10:08) [7]

Это уже не стандартным надо пользоваться - а свой писать - с таким законом распределения!


 
h@1f-e1f ©   (2003-08-07 10:09) [8]

Таблично, но как регулировать число case?


 
MBo ©   (2003-08-07 10:12) [9]

if J<percent1 then
k:=1
else
if J<percent1+percent2 then
...


 
h@1f-e1f ©   (2003-08-07 10:22) [10]

Во! Это уже что-то


 
snake1977   (2003-08-07 11:30) [11]

Мне кажется, что
при помощи Case ничего не получится, потому что
при вызове Random(100) может вас выпасть сто раз число от 1 до 10, например. В таком случае необходимо учитывать количество уже выпавших чисел, т.е. где то хранить количество выпавших 1,2,3,4.


 
TButton ©   (2003-08-07 11:30) [12]

у меня была потребность в генераторе , который выдавал бы число тем реже чем оно больше. т.е. чтоб большие числа выдавались редко, а мелкие часто. сначала пробовал Random(Random(100)) получался AV. пришлось мутить формулусейчас не вспомню, но как тока найду - скину.



Страницы: 1 вся ветка

Текущий архив: 2003.08.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
14-68474
chernoruk
2003-08-03 12:35
2003.08.21
работа с USB


14-68545
AHTOH
2003-08-04 22:22
2003.08.21
Почему hook и делают в основном в dll?


14-68507
HolACost_
2003-08-05 16:35
2003.08.21
UU, XX, Base64


1-68318
Рубинштейн
2003-08-08 19:11
2003.08.21
Горизонтальная полоса прокрутки в TListbox


1-68277
Fostr
2003-08-09 00:27
2003.08.21
Работа с файлами