powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выйти из двух циклов в С
19 сообщений из 44, страница 2 из 2
Выйти из двух циклов в С
    #39665087
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЧтобы закрыть тему бесполезного флуда. Вот оригинальный учебник Дейкстры
https://www.ozon.ru/context/detail/id/139232156/

Каким образом это закрывает вопрос? Методология разработки ПО с 75-го года довольно существенно поменялась, даже в отрыве от языка и платформы, многое из ранее описанного не актуально и даже вредно.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665130
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЧтобы закрыть тему бесполезного флуда. Вот оригинальный учебник Дейкстры
https://www.ozon.ru/context/detail/id/139232156/
эта книжка и правильная и хорошая.
Но это не учебник .
В том смысле, в каком учебник должен более-менее систематически
раскрывать вопрос и учить его использованию.

Данная книжка - сборник статей независимых авторов с размышлением на тему.
У меня нет сейчас её под рукой.
Но, если не изменяет память, составители с самого начала проделали "хитрый ход"
- просто сняли имена авторов с заголовков статей и представили результат как единый текст.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665173
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl...
АФАИК множественный возврат запрещен не рекомендуется из функции, а не из блока.

да, имхо, в этой фразе закопано некое содержание, достойное самостоятельного развернутого высказывания.
Если кураж не рассеется, может быть, вечером сподвигнусь высказаться.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665240
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Как мне красиво выйти из двух циклов? Без condition2.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
for (i=0; i<100; i++)
{
    for (j=0; j<100; j++)
    {
        if (condition1)
        {
            condition2 = 1;
            break; 
        }

        if (condition2)
            break;
    }
}



Возможное решение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
outer:
for (i=0; i<100; i++)
{
    for (j=0; j<100; j++)
    {
        if (condition1)
        {
            break outer; 
        }
    }
}



С уважением, Валентин
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665338
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы эти два цикла вообще вынес в процедуру и использовал return для выхода.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665346
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЯ бы эти два цикла вообще вынес в процедуру и использовал return для выхода.

Не.. это не олдскульно. Надо флаг дрочить в цикле, или рвать шаблоны через goto
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665473
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему всего два цикла?

Давайте решать задачу для n циклов. И условия выхода - произвольные.

Go-go!
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665680
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin KolesnikovВозможное решение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
outer:
for (i=0; i<100; i++)
{
    for (j=0; j<100; j++)
    {
        if (condition1)
        {
            break outer; 
        }
    }
}



С уважением, ВалентинА это какой язык?
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665685
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
i=j=condition=0;
while(i<100 && !condition)
{
   ....
   while(j<100 && !condition)
   { 
      ....
      if(что-то там пошло не так)
        condition=1;
      j++;
    }
    i++;
}
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665715
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for(int s = 0; i < 100 * 100 ; s++) {

	int i = s / 100;
	int j = s % 100;
	
	// ..... processing body with i,j

	if (condition(i,j)) {
		break;
	}
}
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665729
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Код: plaintext
1.
for(int s = 0; i < 100 * 100 ; s++) {


Зациклится
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665733
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Сорян. Не тестил.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665755
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
i=j=0;
for(;;) {
   // ..... processing body with i,j

   j++;
   if(j == 100) {
     j = 0;
     i++;
     if(i == 100) break;
   }
};
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665764
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К чему все эти извращения?
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665771
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилК чему все эти извращения?

Я помню, ещё только когда книжкой по Си в детстве обзавёлся, вот такой же фигнёй маялся
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39665780
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, напомнило тяпничный pwdgen.

http://www.sql.ru/forum/1126611-1/tyapnichnyy-pwdgen

В изначальной постановке мне нужна была утилита которая генерирует символьные сочетания
для произвольных наборов регулярок. Тоесть регулярка наоборот. Не матчер а генератор.

Код: sql
1.
$ pwdgen (Qwe|Asd|Zxc)19\d{2}[!@#$%^&*()]


Данное выражение должно сгенерировать систему из 3х вложенных циклов где
первый цикл идет по префиксам парольных выражений {"Qwe", "Asd", "Zxc"},
второй цикл по всем датам от 1900 года и так далее.

Но я так и не реализовал то что хотел. Просто отложил. Были более интересные дела.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39666229
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39666237
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmayton,

https://onlinestringtools.com/generate-string-from-regex
Мне не нужна эта ссылка.
...
Рейтинг: 0 / 0
Выйти из двух циклов в С
    #39666238
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ссылка-то может и не нужна, а идея прикольная, запомню.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выйти из двух циклов в С
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]