|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.08.2016, 02:09 | #1 |
Новичок
Джуниор
Регистрация: 10.04.2015
Сообщений: 733
|
сократить строки
Перебираются просто строки, значит, не о каких паролях речь не идет. Есть значит такой код:
Код:
можно ли как-то сократить их кол-ство ? И еще, чтобы не писать эти циклы, т.к. я могу там хоть 50 фор'ов прописать, а чтобы этого не делать, как сократить for'ы ? |
22.08.2016, 09:41 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
все ваши for по сути можно заменить на цикл-while+массив индексов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.08.2016, 10:14 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
то, что Вы хотите, в математике (комбинаторике) называется
Размещения с повторениями через вложенные for, в общем случае (когда длина k не задана строго) их обычно никто не реализует. Вариантов реализации может быть много. Тот способ, что предложил Пепел Феникса в #3, достаточно простой, наглядный и эффективный, вполне можно его использовать. |
22.08.2016, 13:57 | #5 |
Новичок
Джуниор
Регистрация: 10.04.2015
Сообщений: 733
|
все ваши for по сути можно заменить на цикл-while+массив индексов.
цикл вайл знаю как записать , а вот массив пока нет. |
22.08.2016, 14:14 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
кусок моей проги. но, объяснять я его не буду. ибо я вам много раз говорил, учите основы. применяется оно так: Код:
у меня можно так: Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 22.08.2016 в 14:23. |
22.08.2016, 14:20 | #7 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
|
|
22.08.2016, 14:22 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
да я заметил, убирать не стал.
default(int) == 0 итак. поправил. тут в идеале бы и проверку входных данных добавить. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
26.08.2016, 10:57 | #9 |
Регистрация: 23.06.2014
Сообщений: 5
|
Для лучшего понимания новичкам переписал код:
Код:
Спасибо Пеплу Феникса за первоначальный код. Мне он показался интересным. Последний раз редактировалось kva52; 26.08.2016 в 11:00. |
26.08.2016, 12:38 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
хорошо
думаю будет полезно. однако замечу, что код стал чаще выделять память. ибо string += всегда создает новую строку, в то время как string.Join внутри использует StringBuilder. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сократить код | kostan3 | Visual C++ | 0 | 15.03.2013 14:08 |
сократить код | Kirja23 | Microsoft Office Excel | 1 | 20.02.2013 22:34 |
сократить код | kostan3 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 17.02.2013 17:24 |
Сократить Формулу | Adrenalin_N | Microsoft Office Excel | 2 | 03.07.2011 17:28 |
Сократить код | shapiro | Помощь студентам | 0 | 14.04.2010 17:38 |