Показать сообщение отдельно
Старый 03.11.2011, 14:23   #5
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Выбор из множества

impersonalis, если смущает бесконечное время выполнение, то можно допилить так
	Local newLI% = LI
	newLI = Rand(1,Size)
	If newLI = LI Then
		newLI = (LI + 3) % Size
	LI=newLI
Т.е при попадании на повторный элемент будет выбран элемент, который отстоит от этого на заданное число элементов.
P.S. dsd это и написал Перечитал и твой пост подробнее - нафига вместо 3 использовать rand не сильно понятно, поскольку величина все равно псевдо-случайная получается.

Как вариант, еще можно нагенерить случайную последовательность при старте в массив каким удобно способом, а потом ее уже использовать - будет быстро и с каким угодно распределением.
(Offline)
 
Ответить с цитированием