Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Как мне красиво выйти из двух циклов? Без condition2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:12 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
ошибся. правильно так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:14 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
ну разве что goto ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:20 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:56 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
заменить for на while... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:58 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
да. goto единственное решение. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 16:42 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Dima T Код: plaintext 1. 2. аааа....хитро. спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 16:46 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Хорошо когда желание структурно программировать не превращается в goto-фобию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 21:16 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
jenya7Как мне красиво выйти из двух циклов? Без condition2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. goto ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 00:05 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
maytonХорошо когда желание структурно программировать не превращается в goto-фобию. это запутывающее существо дела утверждение. А оно здесь в том, что цикл for не являются частью разрешенных в структурном программировании конструкций. Раз этот пример не следует рецептам структурного программирования, то его и нарушить здесь применением goto нельзя . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 00:32 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
jenya7Dima T Код: plaintext 1. 2. аааа....хитро. спасибо :) Это не «хитро». Это откровенное плохо пахнущий код. Для выхода из N вложенных циклов конечно можно использовать GOTO, но его необходимость ещё потребуется обосновать, ведь достаточно весь цикл положить в функцию и выходить из всех циклов через return. Это и решает задачу, и способствуют эффективному структурированию кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 00:34 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
hVostt... Для выхода из N вложенных циклов конечно можно использовать GOTO, но его необходимость ещё потребуется обосновать, ведь достаточно весь цикл положить в функцию и выходить из всех циклов через return. ... это пять баллов за "структурирование кода". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 00:52 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
boobymaytonХорошо когда желание структурно программировать не превращается в goto-фобию. это запутывающее существо дела утверждение. А оно здесь в том, что цикл for не являются частью разрешенных в структурном программировании конструкций. Раз этот пример не следует рецептам структурного программирования, то его и нарушить здесь применением goto нельзя .Прошу предъявить источник знаний, кто же фор запретил. boobyhVostt... Для выхода из N вложенных циклов конечно можно использовать GOTO, но его необходимость ещё потребуется обосновать, ведь достаточно весь цикл положить в функцию и выходить из всех циклов через return. ... это пять баллов за "структурирование кода".Аналогично, ваши измышления хотелось бы подтвердить нормальными учебниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 00:57 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Siemargl, что ты называешь измышлениями? и по твоему тоже "структурное программирование" подразумевает множественность возвратов из блока кода? может, укажешь "учебник", где такому структурному программированию учат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 01:08 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
booby, твои предположения о "неправильности". И если ты пишешь, о "for - не являются частью разрешенных в структурном программировании конструкций" - то подтверди источником. АФАИК множественный возврат запрещен не рекомендуется из функции, а не из блока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 01:19 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
booby это пять баллов за "структурирование кода". Сам пошутил -- сам посмеялся? Ну-ну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 01:20 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
boobyчто ты называешь измышлениями? и по твоему тоже "структурное программирование" подразумевает множественность возвратов из блока кода? если решили строить из себя наци по определениям, потрудитесь аргументировать свои слова правильными определениями, а также пруфами, чтобы не выглядеть смешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 01:21 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Siemarglbooby, твои предположения о "неправильности". И если ты пишешь, о "for - не являются частью разрешенных в структурном программировании конструкций" - то подтверди источником. АФАИК множественный возврат запрещен не рекомендуется из функции, а не из блока. 1) в части for - ок. конкретно в c/c++ for и допустим и может есть быть частью структурного программирования, т.к. условие выхода явно формулируется как логическое условие. Во многих других языках языках нет возможности сформулировать условие завершения for прямо в заголовке. Поэтому для таких языков не принято считать for частью инструментария "структурного программирования" по основанию множественного возврата из цикла. Но в данном случае, да, шутка оказалась смазанной. То есть - в итоге признаю - не удалась. 2) по части блок-функция. функция - частный случай блока кода. структурное программирование формулируется именно по отношению к блокам кода, как бы они не назывались, поскольку вся программа рассматривается именно как последовательность блоков кода, каждый из которых имеет единственный вход и единственный выход. Собственно цикл здесь - это не просто конструкция, внутри которой может оказаться какая-то повторяемая последовательность блоков, а конструкция, образующая, порождающая свой собственный блок кода . Как и конструкция выбора iff. Какой из блоков или последовательности блоков получает собственной имя (функции, например), и, таким образом получает возможность связывания в разные последовательности блоков путем указания их имен - само по себе структурное программирование не интересует. Программа - последовательность блоков. цикл и операция выбора - признаваемые за правомерные способы формирования новых блоков, при условии соблюдения принципа единственности входа и выхода. учебники - не знаю. Вероятно, сейчас структурному программированию уже не учат. А так - любой учебник 30-40 летней давности. И да, в ремарке, обращённой к hVostt я смеялся. И именно над предложением совершить харакири return из внутренностей цикла. Вы, вероятно, в иных странах живёте, потому нашего сарказма просто не понимаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 01:55 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
booby, Да всё нормально, просто хотелось бы пояснений. Наконец-то оно последовало, спасибо. По поводу «структурное программирование формулируется именно по отношению к блокам кода» это лирика, так как у различных блоков кода -- различное предназначение. Во многих языках блок кода можно определить просто с помощью фигурных скобочек, для того, чтобы ограничить область видимости локальных переменных. Но это не строительный блок кода. По поводу «структурное программирование не интересует» это демагогия. Очень даже интересует, так как «блоком кода» можно с таким же успехом можно считать «от этого комментария до этого», но все понимают, что это курам на смех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 02:05 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
booby при условии соблюдения принципа единственности входа и выхода. Это что за принцип такой, для чего нужен и какую задачу решает, можете пояснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 02:08 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
booby, Ещё момент, многие не любят и умилительно морщатся, когда об этом заходит разговор. Функцию можно протестировать. Как вы собираетесь протестировать блок кода типа for, if и т.п. в исходном коде, раз уж вы не видите никакой разницы с точки зрения структурного кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 02:11 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
Чтобы закрыть тему бесполезного флуда. Вот оригинальный учебник Дейкстры https://www.ozon.ru/context/detail/id/139232156/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 09:12 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
С позволения господ Кернингана и Ричи я приведу фрагмент исходника из их книги. 3.8 Оператор goto и метки. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 09:13 |
|
||
|
Выйти из двух циклов в С
|
|||
|---|---|---|---|
|
#18+
mayton, да они там часто загоняются, обычно если уж так хочется заморочитсья без goto, то внутренний цикл в отдельную процу решает проблему "что бы в глаза не бросалось" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 09:24 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39664980&tid=1340095]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 279ms |

| 0 / 0 |
