![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.10.2014
Сообщений: 4
|
![]()
DevC++. Программа на Си. Хочу реализовать вариант, когда каждый раз при создании элемента массива функция пробегала массив сначала и искала совпадения. При нахождении совпадения элемент рандомизируется еще раз и так, пока совпадения не будут исключены.
Соответственно если рандомизация будет происходить в диапазоне от 0 до 20, то массив 7x3 должен получиться без повторений. Не могу найти ошибки в коде. В массиве всегда присутствуют совпадения. В чем дело? Код:
Последний раз редактировалось KYZ; 09.10.2014 в 09:58. |
![]() |
![]() |
![]() |
#2 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Хватит фигнёй заниматься. Если тебе надо, чтобы в массиве были неповторяющиеся случайные элементы от 0 до N - 1, то:
1. заполнить массив элементами, значения которых равны индексу. 2. тщательно перемешать элементы перестановками (чем больше перестановок, тем круче). Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 09.10.2014
Сообщений: 4
|
![]()
Впоследствии мне необходимо будет накладывать много условий на "рандомизацию".
Потом каждый элемент будет не интом, а структурой, в которой будет много свойств, по которым будет определяться положение элемента. Например, некоторые элементы должны будут располагаться только в первом столбце, некоторые должны будут отсутствовать до определенной строки. При моем подходе достаточно будет лишь на этапе подбора и вставки элемента в массив добавить несколько условий и рандомизировать, пока все условия не будут выполнены. Даже представить сложно как я буду прописывать эти условия при "перемешивании". |
![]() |
![]() |
![]() |
#4 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
Соблюди эти условия при заполнении массива, до перемешивания. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 09.10.2014
Сообщений: 4
|
![]()
А как тогда потом делать перестановки? Организовывать несколько перемешиваний для каждых "категорий" элементов (например, для каждого столбца по отдельности и так далее)?
|
![]() |
![]() |
![]() |
#6 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 09.10.2014
Сообщений: 4
|
![]()
Спасибо, буду думать над этим вариантом исполнения
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]() |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
СИ: Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого | Любимая | Помощь студентам | 0 | 28.05.2013 18:44 |
Получить массив из элементов, встречающихся в исходном массиве ровно один раз без повторений | Shikarmo4000 | Помощь студентам | 0 | 25.05.2010 01:27 |
создать в файле рандомный двумерный массив | loon | Помощь студентам | 2 | 25.06.2008 08:32 |
Массив без повторений | Uzenec | Помощь студентам | 2 | 17.01.2008 08:23 |
Генерировать массив без повтора значений элементов. На (С.) | Raptor | Помощь студентам | 5 | 17.12.2007 14:42 |