![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Гость_newbie |
|
|||
|
Unregistered |
Привет всем! Только начал учить С++ как наткнулся на какую-то тупость. Есть постой код
Всё понятно , но вот что пишет автор - " Чтобы завершить цикл надо ввести подряд 2 отрицательных числа" Но как можно их ввести если после первого цикл прекращается - не понимаю |
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
При отрицательном value оператор break разрывает цикл for и передаёт управление accumulator = accumulator + value; Но так как accumulator != 0 истинно процедура продолжится.
Но интересно что цикл for(;;) { у тебя не закрывается ... как и ф-ция main. И вообще синтаксис пугающий. Это сообщение отредактировал(а) Helicopterr - 31.10.2005, 23:21 -------------------- people can fly |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Модератор: Название темы должно отражать ее суть!
|
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Так это я и сам прекрасно понимаю да и вообще программа на вид очень простая , если б не комментарии к ней .Вопрос в том как можно ввести два отрицательных числа подряд и прервать этим цикл. Не знаю то ли я что-то недопонимаю , то ли автор был с перепою. Код кстати я вставил действительно не совсем верный
|
||||
|
|||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
проверил, все работает.
а что бы понять как просто используй отладчик -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| segmentation_fault |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 14.2.2005 Где: в интернете Репутация: 1 Всего: 1 |
А если лень использовать отладчик, то попробую обьяснить как работает программа.
for цикл прерывается оператором break, когда вводишь первое отрицательное число. контроль переходит в do-while цикл. do-while цикл завершается, если accumulator = 0, но на этот момент он будет положительным. Дальше, когда программа переходит к началу do-while цикла, accumulator обнуляется (в твоем коде 8-я строка) Дальше, если вводится положительное число, for цикл начинается снова, но если ввести отрицательное, то цикл прерывается до того, как значение accumulator меняется, то есть accumulator остается 0. Теперь условие в do-while цикле выполняется, и цикл благополучно прерывается. Надеюсь теперь понятно. |
|||
|
||||
| Гость_newbie |
|
|||
|
Unregistered |
Да , спасибо за ответ,но что если ввести последовательность из нулей или вообще ввести сразу отрицательное число
З.Ы. Ни отладчика ни компилятора у меня нет , учу язык в теории |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Не очень это продуктивно... |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
(ИМХО) КПД->0 от такого обучения.Скачай,сейчас есть бесплатные компеляторы с IDE. -------------------- Жизнь - печальная штука. |
|||
|
||||
| Гость_newbie |
|
|||
|
Unregistered |
"Скачай,сейчас есть бесплатные компеляторы с IDE."
Подскажи самый маленький компилятор если не трудно ( можно без IDE) |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
-------------------- Жизнь - печальная штука. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |