Показать сообщение отдельно
Старый 26.06.2013, 22:17   #4
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Случайное возвращение элемента из массива

На ум приходит слишком простой метод, поэтому он явно неверен, однако интересно, в чем ошибка.
Const N%=10;размер массива
Local p%[N],c%[N]
For i=1 To N
	p[i]=i;заполним чисилками
Next
;Перемешивание
For i=1 To N
a%=rnd(N)
       if c[a]<>1
            c[a]=1
            p[i]=a
       endif
Next
c[a]=0
Подзабыл синтаксис Blitz, однако логика, думаю, понятна.
Или вся фишка в том, что алгоритм устроен без if?
(Offline)
 
Ответить с цитированием