|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.07.2015, 13:06 | #1 |
Пользователь
Регистрация: 29.04.2015
Сообщений: 11
|
Составление всевозможных комбинаций из цифр
Набросал такую програмку
var i1, i2, i3: integer; begin for i1:=1 to 4 do for i2:=1 to 4 do for i3:=1 to 4 do if ((i1<>i2)and(i1<>i3)and(i2<>i3)and( i3<>i1))then writeln(i1,-i2,-i3); end. Результат 1-2-3 1-2-4 1-3-2 1-3-4 1-4-2 1-4-3 2-1-3 2-1-4 2-3-1 2-3-4 2-4-1 2-4-3 3-1-2 3-1-4 3-2-1 3-2-4 3-4-1 3-4-2 4-1-2 4-1-3 4-2-1 4-2-3 4-3-1 4-3-2 Подскажите как убрать повторяющиеся комбинации например 1-2-3 1-3-2 3-2-1 3-1-2?? |
07.07.2015, 13:09 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
ну если я правильно понял, что новый цикл считайте от предыдущего индекса, а не от 1 всегда
|
07.07.2015, 13:12 | #3 |
Пользователь
Регистрация: 29.04.2015
Сообщений: 11
|
Расскажу что мне нужно. Надо составить всевозможные комбинации из 4 цифр без повторяющихся комбинаций
|
07.07.2015, 13:12 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так там же останется всего нечего!!
Код:
Код:
Последний раз редактировалось Serge_Bliznykov; 07.07.2015 в 13:15. |
07.07.2015, 13:24 | #5 |
Пользователь
Регистрация: 29.04.2015
Сообщений: 11
|
а если побольше взять цифр??
var i1, i2, i3, i4, i5, i6, i7: integer; begin for i1:=1 to 10 do for i2:=1 to 10 do for i3:=1 to 10 do for i4:=1 to 10 do for i5:=1 to 10 do for i6:=1 to 10 do for i7:=1 to 10 do writeln(i1, i2, i3, i4, i5, i6, i7); end. |
07.07.2015, 13:33 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну возьмите побольше, кто Вам запрещает?
|
07.07.2015, 13:36 | #7 |
Пользователь
Регистрация: 29.04.2015
Сообщений: 11
|
а как реализовать, чтоб комбинации не повторялись?
|
07.07.2015, 13:39 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а пример выше я для чего написал, для красоты?!
Вам нужны Сочетания? (см. Комбинаторика — Сочетания или Википедия - Сочетания) например, для 3-х цифр: допустима комбинация 1-1-1 ? или только 1-2-3 и т.д. ? Последний раз редактировалось Serge_Bliznykov; 07.07.2015 в 13:42. |
07.07.2015, 13:46 | #9 |
Пользователь
Регистрация: 29.04.2015
Сообщений: 11
|
только 1-2-3 и т.д. В одной комбинации цифры между собой не повторяются
|
07.07.2015, 13:50 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ясно. Вам нужны "Сочетания без повторений"
либо берите свой код, только каждый цикл начинайте от предыдущий +1 ( Код:
либо возьмите ХОРОШИЙ готовый УНИВЕРСАЛЬНЫЙ код можно взять тут Цитата:
Код:
Последний раз редактировалось Serge_Bliznykov; 07.07.2015 в 13:52. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
получение всевозможных комбинаций из матрицы по столбцам | matritsa | Помощь студентам | 4 | 16.10.2012 17:47 |
Перебор комбинаций | KobolD | Помощь студентам | 10 | 17.03.2011 12:37 |
Рекурсия. Перебор всевозможных вариантов элементов матрицы | Mr_freeman | Помощь студентам | 15 | 02.03.2011 21:08 |
Вывод всевозможных перестановок символов(Си) | kilgoreq | Помощь студентам | 2 | 18.11.2010 21:28 |
Генерация всевозможных состояний массива | MoroZzz45 | Общие вопросы C/C++ | 7 | 06.06.2010 22:32 |