ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
1 | ||||||
Выход из двух циклов сразу (без goto)27.04.2010, 00:12. Показов 34730. Ответов 19
Метки нет (Все метки)
Здрасти, как можно выйти из нескольких циклов сразу? без goto.
0
|
27.04.2010, 00:12 | |
Ответы с готовыми решениями:
19
Повторно запустить оператор switch без goto, циклов и доп. функций Выход из двух циклов for Превращение кода с goto в код без goto Сравнение двух массивов без вложенных циклов |
7 / 7 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
|
27.04.2010, 00:23 | 2 |
return?
0
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
|
27.04.2010, 00:25 [ТС] | 3 |
0
|
9 / 9 / 2
Регистрация: 27.01.2010
Сообщений: 63
|
||||||
27.04.2010, 00:27 | 4 | |||||
Оператор досрочного завершения break
break; Пример Ex1_04. Суммирование до 10 чисел вводимой последовательности. При вводе отрицательного числа работа программы завершается.
0
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
|
27.04.2010, 00:30 [ТС] | 5 |
0
|
9 / 9 / 2
Регистрация: 27.01.2010
Сообщений: 63
|
|
27.04.2010, 00:34 | 6 |
0
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
|
27.04.2010, 00:44 [ТС] | 7 |
krolex, пример пожалуста можно?
Добавлено через 1 минуту это к чему? мне же надо выход из циклов, а не завершение программы Добавлено через 7 минут Mulat, а код который выходит из 2-циклов с помощью return не напишеш?
0
|
Модератор
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
27.04.2010, 00:46 | 8 | |||||
PointsEqual, попробуй так:
3
|
9 / 9 / 2
Регистрация: 27.01.2010
Сообщений: 63
|
|
27.04.2010, 00:48 | 9 |
прост пример,где break срабатывает при такомто условии....
0
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
27.04.2010, 00:52 [ТС] | 10 | |||||
easybudda, как же я сам не додумался(((
только вот так лучше
Добавлено через 56 секунд срабатывает, но первый цикл продолжается ведь с новой итерации
0
|
Модератор
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
27.04.2010, 00:52 | 11 |
0
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
27.04.2010, 01:01 [ТС] | 12 | |||||
а вот так
Добавлено через 7 минут еще читал про функцию longjmp, но так и не разобрался, че она увеличивает, кому чего передает)
0
|
Модератор
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
27.04.2010, 01:04 | 13 | |||||
странно, с чего бы?
Единственная опасность при маргинальных случаях типа ROWS = INT_MAX но для таких лучше в качестве индексов более ёмкие типы данных использовать...
1
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
27.04.2010, 01:09 [ТС] | 14 | |||||
easybudda, может из за этого ?)
0
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
27.04.2010, 05:47 | 15 |
Вообще это тот случай, когда goto как раз кстати. Но если дело принципа то заводишь отдельную переменную, которая будет выполнять роль флага. Если нужно прервать оба цикла из внутреннего, устанавливаешь флаг, делаешь бряк. Во внешнем цикле после внутреннего сразу проверяешь флаг, если установлен, то опять бряк.
2
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
|
27.04.2010, 12:57 [ТС] | 16 |
я пробовал, уж очень некрасиво было, но работало)
Добавлено через 32 секунды ну да, не хочется ставить мне его
0
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
27.04.2010, 13:27 | 17 |
Других вариантов нет. В неоторых случаях можно реторн применять, но только в функциях.
2
|
Модератор
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
28.04.2010, 00:54 | 18 | |||||
PointsEqual, всё может быть проще
1
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
|
28.04.2010, 01:03 [ТС] | 19 |
easybudda, в коде ищется элемент 0, а потом если он найден коипируются все элементы до 0?
Добавлено через 2 минуты а куда они копируются?
0
|
Модератор
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
28.04.2010, 01:12 | 20 |
PointsEqual, не совсем так. std::find() возвращает итератор указывающий на третий параметр, или на конец списка, если его там нет. После чего в std::cout копируются разделённые пробелом элементы списка с итератора на начало списка до найденного итератора. После чего проверяется, равен ли найденный итератор итератору, указывающему на конец списка (это если элемент с нулевым значением не найден), если не равен, значит стоп-машина!
1
|
28.04.2010, 01:12 | |
28.04.2010, 01:12 | |
Помогаю со студенческими работами здесь
20
Критично ли использование goto при выходе из циклов? Выход с циклов Выход из 2-ух циклов Текстовый редактор. Выход с сохранением. Выход без сохранения. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |