XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> Галактическая академия
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Epselot

offline
Опыт: 3,592
Активность:
Случайные не повторяющиеся числа
Люди два дня мучаюсь, не могу сделать триггер:
Суть триггера в 20 рандомных не повторяющихся числах в диапазоне от 1 до 20.
Мне нужно расположить в массиве X[k] (с k от 1 до 20), 20 чисел от 1 до 20 чтоб они не повторялись. Пожалуйста помогите, попробуйте сделать этот триггер, потому что я уже часов 6 убил и результат в итоге нулевой. Не спрашивайте зачем мне это долго объяснять =)
Этот триггер мне необходим просто... и мне кажется что кто нить должен был уже такое когда то делать=)
Старый 14.12.2011, 16:11
Zolden

offline
Опыт: 1,588
Активность:
Предложу тебе самый простой в реализации способ.
Сначала заполни массив, чтоб x[k] = k.
А потом раз 20-30 поменяй два произвольных элемента местами.
Старый 14.12.2011, 18:47
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Epselot, задача решается через стек. Не знаю как будет на галакси но суть должна быть понятно.
Сперва мы заполняем новый массив любой длинны любыми числами (назовем его А). Дальше создается еще один массив нужной длинны, меньшей или равной массиву А (назовем его Б). Берем массив Б и проходимся по нему и заполняем каждую ячейку по такому алгоритму.
1. Генерируем случайное число в пределах ячеек массива А, назовем это число К
2. Берем значение из ячейки массива А с индексом К и записываем его в нашу ячейку массива Б
3. Удаляем ячейку с индексом К из массива А по такому принципу
1) перемещаем последнюю ячейку массива А в ячейку с индексом К
2) уменьшаем размерность массива А на 1
4. Переходим к следующей ячейке, пока не будет достигнут конец массива
Старый 14.12.2011, 21:05
Clamp
Lost in space
offline
Опыт: 71,158
Активность:
alexprey, задача решается и так и так, понятие "больше рандома" или "меньше рандома" не существует
Clamp добавил:
хотя стек мне ближе
Старый 15.12.2011, 05:43
Epselot

offline
Опыт: 3,592
Активность:
Zolden, почему я сам не додумался до этого?=))))
alexprey, идея тоже неплохая но сложная однако=)
Старый 15.12.2011, 07:40

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:24.