|
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
|
|||||||||||
Уменьшение количества циклов21.06.2014, 22:47. Показов 2484. Ответов 19
Метки нет (Все метки)
Здрастье всем. Вопрос такой.
Есть 5 вложенных циклов и тело цикла.
строчку с 5-ым циклом закомментироваваю слешом //. Получается
Пробовал continue; Но тогда тело цикла не выполняется. Подскажите, кто знает.
0
|
|||||||||||
| 21.06.2014, 22:47 | |
|
Ответы с готовыми решениями:
19
Уменьшение визуального вида кода (скрытие циклов, функций) Уменьшение и увеличение количества Уменьшение количества цветов |
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||||||||||
| 21.06.2014, 23:01 | ||||||||||||
|
например
1
|
||||||||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 21.06.2014, 23:02 | |
|
sergey.shuvalov, сделайте функцию передавайте bool параметр,если true - 4 цикла, false - 5.
Тоже самое можно и без функции
1
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||||||||||
| 21.06.2014, 23:14 | |||||||||||
|
S_el, примерчик покажи
а то я как то не могу сообразить изменение количество циклов это изменение алгоритма и менять его на лету только одно в голову приходит
тут вроде еще придумал
и будет или нет работать, не знаю
1
|
|||||||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 21.06.2014, 23:15 | |
|
ValeryS, http://ideone.com/BfAZl7
2
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 21.06.2014, 23:15 | ||||||
|
можно попробовать так:
1
|
||||||
|
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
|
|
| 21.06.2014, 23:19 [ТС] | |
|
ValeryS, Так то хорошо, но в программе 4 варианта количества вложенных циклов - 5,4,3,2.
И тело цикла порядка 1000 строк. Так что листинг программы в вышеуказанном варианте увеличится на 3000 строк. А вариант то, конечно, хороший. А варианте с case, разве brake после каждого case не стоит?
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||
| 21.06.2014, 23:35 | |||
|
S_el, но "тело функции" у тебя разнесено
Добавлено через 6 минут если выпадет например два то цикл должен отработать по case 2: а потом упасть по case 1: но повторяю, это я сейчас придумал и не проверял я бы сделал 4 функции для циклов и одну функцию для тела сопровождать программу легче будет
1
|
|||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||
| 21.06.2014, 23:36 | |||
|
1
|
|||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||
| 21.06.2014, 23:37 | ||
|
1
|
||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 21.06.2014, 23:38 | |
|
1
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||
| 21.06.2014, 23:41 | ||
|
так что думаю алгоритм нужно пересматривать
1
|
||
|
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
|
||||||
| 21.06.2014, 23:45 [ТС] | ||||||
|
Jewbacabra, Гениально. Немножко усовершенствовал.
Циклы обозвал int i[5]. И соответственно по обстоятельствам передаю значения int maxi[5]. Получается
Спасибо всем. Разум когда-нибудь победит. Добавлено через 3 минуты ValeryS, Вообще в программе стоит 15 вложенных циклов. Нужно варианты перебора просматривать 3 в 15 степени, в 14 и т.д.
0
|
||||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||||
| 22.06.2014, 00:14 | ||||||
|
короче проверил свитч работает
после доработки напильником ![]()
инициализация обязательна(int i=10,j=10,k=10,l=10,m=10; ) иначе при значении меньше 5 цикл лезет на предыдущую строчку а поскольку нет инициализации счетчика программа рухает а так мы задали число заведомо больше чем предел и цикл не исполняется Добавлено через 14 минут вот онлайн компилятор http://ideone.com/6IWJxJ
2
|
||||||
|
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
|
||||||
| 22.06.2014, 00:16 [ТС] | ||||||
|
ValeryS, Спасибо, я уже сделал способом передачи значения максимального значения количества итераций цикла от 1 до 15 цикла.
а там где цикл не нужен передаёт значение mx[i]=2; Программа работает замечательно. Спасибо всем!
0
|
||||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||||
| 22.06.2014, 08:12 | ||||||
|
sergey.shuvalov,
самому то нравится этот забор? говорю же алгоритм менять нужно ![]() нельзя "в лоб" решать проблемы, нужно отойти и подумать ![]() и вот что я надумал, использовать рекурсию тогда хоть один цикл хоть сто вот аналог моего свитча
1
|
||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 22.06.2014, 09:21 | |
|
ValeryS, только не факт,что тело у цикла всегда одинаковое.
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||||||
| 22.06.2014, 09:27 | ||||||||
|
если тело цикла не зависит от индексов ну типа
0
|
||||||||
|
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
|
|
| 22.06.2014, 11:14 [ТС] | |
|
ValeryS, Дело в том, что в теле цикла, для решения задачи, берутся значения ix[j] из самих итераций циклов и производятся с ними действия, для этого собственно циклы и создаются.
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 22.06.2014, 11:20 | |
|
sergey.shuvalov, пересмотреть алгоритм, разбить на функции. Отладка кода в текущем виде может стать адом.
0
|
|
| 22.06.2014, 11:20 | |
|
Помогаю со студенческими работами здесь
20
Уменьшение количества комплектующих на складе Уменьшение количества в табличной части Уменьшение количества внешних ссылок Уменьшение количества индексированых страниц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|