Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.017 c
14-68491
aga
2003-08-05 20:09
2003.08.21
Редактор...


14-68495
Hack_Man
2003-07-21 18:37
2003.08.21
Компоненты для IP и MAC адресса


3-68189
Iry
2003-07-28 17:14
2003.08.21
FastReport TfrChartView


3-68160
VID
2003-07-29 13:29
2003.08.21
TpFIBQuery, запись данных из потока в параметр Insert-запроса


3-68238
Buka
2003-07-21 18:26
2003.08.21
Как установить BDE вместе с поставляемой на другую машину програм




   Наверх