Главная страница
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.012 c
14-68442
Лёша
2003-08-04 11:39
2003.08.21
МУЖИКИ, есть ли способ сделать форму не только активной


1-68388
han
2003-08-07 17:42
2003.08.21
out proccess com


1-68261
tlk
2003-08-07 10:38
2003.08.21
ListView с поддержкой БД или пометка в DBGrid с помощью кл.Shift


3-68236
galexis
2003-07-24 11:49
2003.08.21
Можно ли с помощью SQL запроса очистить таблицу?


3-68185
Tahion2
2003-07-28 20:38
2003.08.21
Позволяет ли ClientDataSet хранить несколько таблиц в одном файле