Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2013, 12:52   #1
JROUD
 
Регистрация: 15.08.2010
Сообщений: 7
По умолчанию Исключающие комбинаторные соединения без повторений [C++|C#|D|VB|php]

Привет! Интересует, как можно программно реализовать все возможные комбинации по 1...n из n элементов, чтобы элементы в комбинациях не повторялись? Вот, как это выглядит для 6 элементов:
JROUD вне форума Ответить с цитированием
Старый 25.02.2013, 15:04   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

У меня никак не выглядит. Как можно превратить натуральное число от 0 до n!-1 в комбинацию:
Можно взять массив из n булевых величин, изначально false.
В цикле по k от n до 1, взять остаток от деления числа на k, найти соответствующий по счёту элемент в массиве, равный false, установить его в true и добавить (номер элемента от 1 до n) в комбинацию. Само число поделить нацело на k, повторить.

Все возможные комбинации - соответственно, цикл от 0 до n!-1, в цикле вызываем функцию из предыдущего абзаца.
Abstraction вне форума Ответить с цитированием
Старый 25.02.2013, 16:42   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

http://programmersforum.ru/showthread.php?t=138096
Правда, на дельфи, и без взаимоисключающих, но, возможно, задаст направление мыслей.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить матрицу числами без повторений в строке OziFaker Visual C++ 0 26.11.2012 21:05
массивы в Бейсике без повторений Romka12345 Microsoft Office Word 5 01.12.2011 22:27
генерация сочетаний без повторений nowaalex Общие вопросы C/C++ 8 01.11.2010 00:29
Random вывод нескольких чисел без повторений leonw Общие вопросы Delphi 4 05.09.2009 13:15
Массив без повторений Uzenec Помощь студентам 2 17.01.2008 08:23