|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|
Перечисление чисел03.04.2015, 18:23. Показов 7371. Ответов 59
Метки нет (Все метки)
Здравствуйте! Я не являюсь программистом, но в моём деле мне необходима помощь компьютера. И ради этого я начал изучать программирование. Я установил Visual Studio и нашёл несколько статей для новичков в С++. Пока я их изучаю, я хочу написать свою задачу вам, чтобы, мало ли, мир не без добрых людей, поможете мне.:
Есть 3 ячейки: a b c Есть количество чисел от 1 до 5, для каждой ячейки. Надо произвести расчёт чисел в автоматическом режиме от меньшего к большему, начиная с ячейки с. Запись чисел должна будет идти в текстовый документ, откуда все вычисления можно будет скопировать. После достижения комбинации 1 1 5 она должна быть записана, а далее необходимо, чтобы число ячейки с, сбросилось до 1. А число в ячейке b сменилось на 2. И так далее до комбинации 5 5 5.
0
|
|
| 03.04.2015, 18:23 | |
|
Ответы с готовыми решениями:
59
Перечисление в BC++
Не работает перечисление |
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 04.04.2015, 11:11 | |
|
yellyex, Как я понял, вам нужны все перестановки из N элементов? На форуме встречалось неоднократно. "генерация перестановок"
Или все-таки сочетания из N по K ? Тогда "Генерация сочетаний" В первоначальной же формулировке (Генерация всех k-разрядных чисел в n-ричной системе счисления) можно обойтись одним циклом и без рекурсии для любого n. Для этого просто надо вспомнить, как нас во втором классе учили столбиком складывать. Достаточно из всей премудрости этого процесса уметь единичку прибавлять
0
|
|
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
||
| 04.04.2015, 14:04 [ТС] | ||
|
Всем привет! Я тут подумал и решил предложить вот что. А что, если сделать список комбинаций не в текстовый файл, а в приложение. То есть весь код перенести в C#. Все комбинации будут записываться в окно, из которого потом можно будет всё это скопировать.
1. Это семь ячеек. 2. Каждая ячейка содержит число от 2 до 14 включительно. 3. Для каждого числа есть дополнительное вспомогательное число, стоящее справа от него от 1 до 4. 4. Пример: 2а 3b 4c 5d 6a 7b 8c. 21 32 43 54 61 72 83 5. Принцип расчёта комбинации такой: вспомогательное число последнего числа в семизначной комбинации увеличивается от меньшего к большему. То есть от 1 до 4 включительно. После достижения 4, основное число сменяется на +1 выше. То есть, если было 3, то стало 4. И снова по кругу и до конца. То есть, всё то что уже было ранее, только с учётом вспомогательных чисел. И так как я являюсь полным новичком в программировании, посоветуйте мне пожалуйста литературу, которую стоит почитать, и которая поможет мне в моих целях. Спасибо. Это была основа. Теперь дальше: 1. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, по порядку от 2 до 14. Пример (без вспм. чисел): 2 3 4 5 6 7 8 9 10 11 12 13 14. 2. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, по порядку в количестве до 4 от 2 до 5, от 3 до 6, от 4 до 7 и заканчивая от 10 до 14. Пример (без вспм. чисел): 2 3 4 5 8 9 10. 4 5 6 7 2 9 14. 3. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, содержащие 4 одинаковые числа. Пример (без вспм. чисел): 5 5 5 5 4 4 4. 7 7 7 7 9 2 3. 4. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, содержащие 3 одинаковые числа. 5. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, содержащие 3 и 2 одинаковых чисел. Пример (без вспм. чисел): 3 3 3 2 2 4 4. 5 5 5 4 4 8 9. 8 8 8 4 2 5 5. 6. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, содержащие 2 одинаковых числа. 7. Нужно сгенерировать все комбинации, учитывая все комбинации из вспомогательных чисел, не содержащие любые совпадения чисел,а также совпадения по порядку, как в пункте 1 и 2. Пример (без вспм. чисел): 2 3 12 10 7 14 9. 3 9 8 7 2 6 4. Я понимаю, что одна генерация комбинаций может содержать и другие, поменьше, комбинации, но я для того и расфасовал всё по пунктам, чтобы генерировать отдельно, чтобы не запутаться потом. Добавлено через 5 минут Байт, Спасибо. Я обязательно поищу!
0
|
||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||
| 04.04.2015, 14:05 | ||
![]() Вообще, думаю, надо не сто раз генерировать всякие комбинации с разными условиями, а генерировать 1 раз и для каждой комбинации определять, в какую категорию она попадает. И, похоже, это карты от 2 до туза, 4 масти - применение немного проясняется. Но надо ли на самом деле генерировать все комбинации? Может быть, можно математически тот результат, который нужен?
2
|
||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|||
| 04.04.2015, 14:13 [ТС] | |||
|
Somebody,
Но в любом случае, я уже описал конечные цели выше. Если я это получу, то стану властелином мира!!!Добавлено через 6 минут
0
|
|||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||
| 04.04.2015, 14:18 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
||
| 04.04.2015, 14:21 [ТС] | ||
Хотя на самом деле, тут чисел 5, а у меня 7. Может быть, если тут кто-то знает, как этот расчёт производить хотя бы из 5 чисел, то я позже смогу увеличить это число до 7. Было бы неплохо узнать, как работает эта система. Я заинтригован. Она, получается схожа с моей. Но у меня вместо карт юниты
0
|
||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 04.04.2015, 14:26 | |
|
Я имею в виду комбинации не в комбинаторном смысле, а в покерном, коих довольно мало.
1
|
|
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
||||||
| 04.04.2015, 21:21 [ТС] | ||||||
|
Так значит. Покопавшись в последнем коде, я ничего толком не понял. Разве что научился изменять переменные в ней. А вот добавить что-то или изменить, увы нет.
Воспользовавшись более простым кодом от rikimaru2013, я быстро сообразил, что нужно сделать.
1. А1 А1 А1 А1 A1 - E3 E3 E3 E3 E3 (Тут только 5 чисел вместе, поэтому комбинаций всего 5) 2. A1 A1 A1 A1 B1 - E3 E3 E3 E3 D3 (Тут только 4 чисел вместе и 1 число отдельно) 3. A1 A1 A1 B1 B1 - E3 E3 E3 D3 D3 (Тут 3 и 2 вместе) 4. A1 A1 A1 B1 С1 - E3 E3 E3 D3 B3 (Тут просто 3 числа вместе) 5. A1 A1 B1 B1 С1 - E3 E3 D3 D3 C3 (Тут 2 и 2 числа вместе) 6. A1 A1 B1 C1 D1 - E3 E3 D3 C3 B3 (Тут просто 2 числа вместе) 7. A1 B1 C1 D1 E1 - E3 D3 C3 B3 A3 (Тут все числа по порядку) Добавлено через 11 минут Как тут личные сообщения отправлять?
0
|
||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 04.04.2015, 21:39 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|
| 04.04.2015, 21:43 [ТС] | |
|
Байт, спасибо! Но в данный момент я увлёкся экспериментами с условиями. Посмотрим, что будет
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 04.04.2015, 22:18 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|||||||||||||||||||||
| 04.04.2015, 23:25 [ТС] | |||||||||||||||||||||
|
План:
1. А1 А1 А1 А1 A1 - E3 E3 E3 E3 E3 (5 чисел вместе) 2. A1 A1 A1 A1 B1 - E3 E3 E3 E3 D3 (4 числа вместе) 3. A1 A1 A1 B1 B1 - E3 E3 E3 D3 D3 (3 и 2 числа вместе) 4. A1 A1 A1 B1 С1 - E3 E3 E3 D3 B3 (3 числа вместе) 5. A1 A1 B1 B1 С1 - E3 E3 D3 D3 C3 (2 и 2 числа вместе) 6. A1 A1 B1 C1 D1 - E3 E3 D3 C3 B3 (2 числа вместе) 7. A1 B1 C1 D1 E1 - E3 D3 C3 B3 A3 (Все числа по порядку) Пункт №1 выполнен. Посмотрите пожалуйста кому не трудно. Есть ли тут ошибки, или может быть предложения по оптимизации? ![]()
Пункт №2 выполнен. Но у меня в результате есть небольшие погрешности: самая первая и последняя комбинации состоят из пяти основных чисел 11111 и 55555, когда в остальных, как и задумывалось, по четыре числа в любой комбинации.
Пункт №3 выполнен. Недоработка такая же, как и в пункте 2, но я удалил ненужные комбинации вручную. Всё остальное верно. Но прошу, если не сложно, взглянуть на условия. Тут их больше и я мог запутаться.
Пункт 4 не выполнен.
Пункт 4 не выполнен! Так как там есть множество ненужных комбинаций их 4 одинаковых чисел и так далее. Буду думать дальше...
0
|
|||||||||||||||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 04.04.2015, 23:26 | |
|
yellyex, Поздравляю!
1
|
|
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|||||||||||
| 05.04.2015, 00:15 [ТС] | |||||||||||
|
Подскажите пожалуйста, какие условия надо поставить в пункт 4, чтобы в текстовый документ записывались только комбинации с тремя одинаковыми числами. Пример: 33345. 24232. 45155. Спасибо.
Добавлено через 10 минут Разработал вот такое условие. Сейчас увеличу и посмотрю на результат.
По пункту 4. Вот такой код. И на этот раз без ошибок.
0
|
|||||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||
| 05.04.2015, 00:16 | |||
|
1
|
|||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|
| 05.04.2015, 00:19 [ТС] | |
|
Байт, спасибо
Но товарищ Renji, сделал намного проще, что я сам ничего не понял, но зато я сильно восхитился, как бывает просто сделать нечто огромное малым! Не переживайте, мой интерес к программированию не пропадёт. Если Вы можете представить мой код короче. то милости прошу это сделать
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 05.04.2015, 00:22 | |
|
А в прочем... Попался в желтой прессе такой анекдот. Папа - программист. Вбегает сыночек. "Папа, а почему солнце садится на западе?" - "Ты это точно знаешь?" - "Ну да. И вчера, и позавчера, да и три дня намедни...". Папа берет сына за подбородок, внимательно смотрит ему в глаза. - "Слушай, пожалуйста ничего не трогай".
3
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||||||
| 05.04.2015, 18:39 | ||||||
|
Без разделения на основные/вспомогательные. Их всегда можно вытащить как частное/остаток от деления.
1
|
||||||
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|
| 06.04.2015, 07:24 [ТС] | |
|
Somebody, спасибо тебе большое! Только пока код не смогу проверить. У меня тут другие дела нарисовались
Надо делать...
0
|
|
|
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
|
|
| 11.04.2015, 03:23 [ТС] | |
|
Somebody, я посмотрел код. Ты просто красавчик!
0
|
|
| 11.04.2015, 03:23 | |
|
Перечисление переменных Перечисление Com портов Перечисление в структуре Перечисление enum Enum Перечисление Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|