aaarrr 69 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба И по поводу читаемости: goto - очевидное действие, модификация переменной цикла, набивание кода 100500 continue - костыли, механизм работы которых специально изучать надо. И таки да, легко выстрелить в ногу. 1 minute ago, jcxz said: один гвоздь торчит в сторону и колет спину Ключевое слово один - он действительно один, и назначение его очевидно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба Тоже очень редко пользуюсь goto именно в таких случаях. Не вижу никаких проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба 9 minutes ago, aaarrr said: goto - очевидное действие А остальные - крайне неочевидные. В которых легко допустить ошибку, иногда - трудно находимую. Потому что вагон писанины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 72 15 декабря, 2021 Опубликовано 15 декабря, 2021 · Жалоба Не совсем ясен смысл такого паровоза. Судя по коду цель - выполнить цепочку этапов и если условие текущего выполняется, перейти к следующему. Как по мне тут явно for не к месту - тут скорее нужен do{}while(i) U8 z=1,i=10 do { ... switch(i) { case 10: if() { ... } else { z=0 } break; ... case 20: if() { ... } else { z=0 } break; default: z=0 break; } // switch() i++; } while(z); Если на месте первого троеточия нет кода(т.е. нет кода постоянно исполняемого в цикле), то там вообще можно обойтись без цикла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 15 декабря, 2021 Опубликовано 15 декабря, 2021 · Жалоба а какая разница, for() или do-while()? выброс из цикла происходит одинаково, по установке/сбросу переменной цикла. поясните, в 2-3х предложениях?! если только визуально do-while() приятнее, то ... ну ладно, пусть, я не против, но не вижу разницы вообще :о) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 72 18 декабря, 2021 Опубликовано 18 декабря, 2021 · Жалоба 1) при обработке case вообще не влезаешь в счетчик цикла 2) имеется один общий и понятный механизм завершения цикла(z=0). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 23 декабря, 2021 Опубликовано 23 декабря, 2021 (изменено) · Жалоба for(i=1; i<BREAK; i++) { ... switch(i) { case 10: if() { ... BREAK = 0; // видим слово BREAK - значить это "то, что надо" } break; ... } либо #define BREAK 0 for(i=1; i<CNT; i++) { ... switch(i) { case 10: if() { ... CNT = BREAK; // тут вообще все очевидно :о) } break; ... } все то-же самое :о) за исключением что счетчик используется для выброса (мавр сделал, мавр может...) из плюсов - ни чего не надо перехреноверчивать :о) Изменено 23 декабря, 2021 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 5 декабря, 2022 Опубликовано 5 декабря, 2022 · Жалоба Здесь или goto или ввести булевский флаг выхода из цикла: bool fl_exit=false; for(int i=0; (i<N) && !fl_exit; i++) {switch(i) {case 0: break; case 1: break; case 10: fl_exit=true; break; }//switch }//for Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 6 декабря, 2022 Опубликовано 6 декабря, 2022 · Жалоба On 12/5/2022 at 3:01 PM, Dvorkin said: Здесь или goto или ввести булевский флаг выхода из цикла: Немного поторопились с советом - через пару недель теме как раз год бы исполнился 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 9 декабря, 2022 Опубликовано 9 декабря, 2022 · Жалоба On 12/6/2022 at 10:58 PM, xvr said: Немного поторопились с советом - через пару недель теме как раз год бы исполнился 🙂 Ну, если за год никто не предложил разумного решения - значит, задача чрезвычайно трудна, нельзя было оставить без ответа 😀 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться