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

Вниз

Алгоритм случайного выбора без повтора   Найти похожие ветки 

 
AntiGen   (2004-09-11 13:04) [0]

Может знает кто такой алгоритм. Это что-то вроде выбора песен из плейлиста,например, в WinAmp или WMP. Причем там всегда возможен переход от одной песни к другой в любом направлении (назад, вперед) с той же неповторяющейся последовательностью.


 
Profi ©   (2004-09-11 13:06) [1]

AntiGen   (11.09.04 13:04)
Создаешь массив случайных чисел (как сделать так, чтобы не повторялись, сам догадаешься) и все!


 
Yuri Btr ©   (2004-09-11 13:13) [2]

Если используется случайный выбор, то не имеет значения - вперед или назад - вы всегда выбираете новое случайное число.
Например у вас есть список песен. Они идентифицируются по позиции в листе. Тогда выбор следующей будет
Random(Макс. позиция в листе)
В создании формы поставь Randomize
и все.


 
AntiGen   (2004-09-11 13:14) [3]

Точно! :)) с утра голова совсем не работает! Спасибо за помощь!


 
AntiGen   (2004-09-11 13:17) [4]

2 Yuri Btr: в том то и дело, что хочется вперед\назад. WinAmp запоминает позиции. Помоему Profi тут правильный выход подсказал.


 
Yuri Btr ©   (2004-09-11 13:21) [5]

to AntiGen
"WinAmp запоминает позиции"
И правда, запоминает... Однако мне всегда казалось что наоборот :)


 
Alekc   (2004-09-11 14:45) [6]

Создаёшь два списка - в один суёшь все песни, потом их оттуда выдёргиваешь рандомом по одной и добавляешь во второй (удаляя из первого). Второй играешь с начала до конца. Когда он (второй) закончится - повторяешь операцию :)) Вперёд-назад - последовательный переход по второму.


 
Mihey_temporary ©   (2004-09-11 19:39) [7]

Заполнение массива случайными неповторяющимися числами:


procedure FillArray(var A: array of Integer);
var

I, S, R: Integer;
begin

for I := 0 to High(A) do A[I] := I;
for i := High(A) downto 0 do begin
R := Random(I);
S := A[R]; A[R] := A[I]; A[I] := S;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
6-1090148252
тихий вовочка
2004-07-18 14:57
2004.09.26
Прокси


14-1094213765
}|{yk
2004-09-03 16:16
2004.09.26
Не мог бы кто проконсультировать...


14-1094235016
Verg
2004-09-03 22:10
2004.09.26
Я плачу....


4-1092211955
Yurik
2004-08-11 12:12
2004.09.26
ListView с возможностью отображения больших картинок


1-1094807172
Zhekson
2004-09-10 13:06
2004.09.26
Центрирование в Мемо