Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2012, 19:30   #1
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию Убрать break и continue C++

В одной книге интересную задачу нашел а вот как ее решить не знаю.
Вот условие задачи. Рассмотрите следующий фрагмент програмы.
Перепишите не используя операторов break и continue;
Вроде goto здесь нельзя использовать. Хоть что-нибудь подскажите. Как ее решить

Код:
int line = 0;
char ch;
while (cin.get(ch))
{
   if (ch == 'Q')
      break;
   if (ch != '\n')
      continue;
   line++;
}
lotus1994 вне форума Ответить с цитированием
Старый 06.02.2012, 19:56   #2
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

Код:
while (cin.get(ch) && ch != 'Q')
    if (ch == '\n') line++;
не проверял, но идея такая
rUs_LAN вне форума Ответить с цитированием
Старый 06.02.2012, 20:21   #3
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от lotus1994 Посмотреть сообщение
В одной книге интересную задачу нашел а вот как ее решить не знаю.
Вот условие задачи. Рассмотрите следующий фрагмент програмы.
Перепишите не используя операторов break и continue;
Вроде goto здесь нельзя использовать. Хоть что-нибудь подскажите. Как ее решить

Код:
int line = 0;
char ch;
while (cin.get(ch))
{
   if (ch == 'Q')
      break;
   if (ch != '\n')
      continue;
   line++;
}
Помимо уже приведенного варианта, есть возможность, связанная с заменой функции get на ее перегруженную альтернативу.

Код:
while ( ( ch = cin.get() ) != 'Q' )
{
   if ( ch == '\n' ) line++;
}
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 06.02.2012, 21:48   #4
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию

Да, все правильно работает. Спасибо что помогли!
lotus1994 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оператор continue. AnnaKom Помощь студентам 2 20.01.2012 12:20
Break и Continue (С/C++) в делфи? TwiX Общие вопросы Delphi 2 30.04.2010 01:33
удаление continue fs444 Общие вопросы C/C++ 12 09.04.2010 12:35
Оператор continue Golovastik Общие вопросы C/C++ 10 20.07.2009 14:19
continue Neymexa Общие вопросы .NET 8 30.04.2009 13:35