Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
Вниз---|Ветка была без названия|--- Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c