Epselot
offline
Опыт:
3,592Активность: |
Случайные не повторяющиеся числа
Люди два дня мучаюсь, не могу сделать триггер: Суть триггера в 20 рандомных не повторяющихся числах в диапазоне от 1 до 20. Мне нужно расположить в массиве X[k] (с k от 1 до 20), 20 чисел от 1 до 20 чтоб они не повторялись. Пожалуйста помогите, попробуйте сделать этот триггер, потому что я уже часов 6 убил и результат в итоге нулевой. Не спрашивайте зачем мне это долго объяснять =) Этот триггер мне необходим просто... и мне кажется что кто нить должен был уже такое когда то делать=) |
14.12.2011, 16:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
Предложу тебе самый простой в реализации способ.
Сначала заполни массив, чтоб x[k] = k.
А потом раз 20-30 поменяй два произвольных элемента местами. |
14.12.2011, 18:47 | #2
+1/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Epselot, задача решается через стек. Не знаю как будет на галакси но суть должна быть понятно.
Сперва мы заполняем новый массив любой длинны любыми числами (назовем его А). Дальше создается еще один массив нужной длинны, меньшей или равной массиву А (назовем его Б). Берем массив Б и проходимся по нему и заполняем каждую ячейку по такому алгоритму. 1. Генерируем случайное число в пределах ячеек массива А, назовем это число К 2. Берем значение из ячейки массива А с индексом К и записываем его в нашу ячейку массива Б 3. Удаляем ячейку с индексом К из массива А по такому принципу 1) перемещаем последнюю ячейку массива А в ячейку с индексом К 2) уменьшаем размерность массива А на 1 4. Переходим к следующей ячейке, пока не будет достигнут конец массива |
14.12.2011, 21:05 | #3
+1/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
alexprey, задача решается и так и так, понятие "больше рандома" или "меньше рандома" не существует
Clamp добавил: хотя стек мне ближе |
15.12.2011, 05:43 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Epselot
offline
Опыт:
3,592Активность: |
|
15.12.2011, 07:40 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|