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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2010, 16:43   #1
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию удаление continue

У Дейтлов есть задача:
Цитата:
Опишите, как в общем случае вы могли бы удалить из цикла оператор continue и заменить его каким-то структурированным эквивалентом. Используя этот прием, удалите оператор continue из программы:

Код:
// Рис. 2.7: fig02_07.cpp
// Программа вычисления среднего значения. Использует повторение, управляемое счетчиком.
#include<iostream.h>
#include<windows.h>

int rustext(char str[])
{
 char buffer[1024];
 CharToOem(str,buffer);
 cout << buffer;
}

using std::cout;
using std::cin;
using std::endl;

int main()
{
 int total, // сумма оценок
     gradeCounter, // число введенных оценок
     grade, // одна оценка
     average; // средняя оценка

 // инициализация
 total = 0; // установка суммы в исходное состояние
 gradeCounter = 1; // подготовка к циклу

 // вычисление
 while (gradeCounter <= 10) // цикл (10 итераций)
 {
  rustext("Введите оценку: "); // подсказка на ввод
  cin >> grade; // ввод значения grade
  total = total + grade; // добавление grade к total
  gradeCounter = gradeCounter + 1; // увеличение счетчика
 }

 // завершение
 average = total / 10; // целочисленное деление
 rustext("Средняя оценка равна ");
 cout << average << endl;

 system("pause");
 return 0; // указание на успешное завершение
}
Что здесь имеется в виду под структурированным эквивалентом?
fs444 вне форума Ответить с цитированием
Старый 30.03.2010, 16:53   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

или я ослеп, или оператора continue в коде нет.

Цитата:
Что здесь имеется в виду под структурированным эквивалентом?
блок кода, который сделает работу, аналогичную оператору continue.

пс. достал ты со своими дятлами, весь раздел зафлудил
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 04.04.2010, 13:37   #3
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

Прошу прощения. Не тот код вставил. Вот правильный код с рис. 2.17:

Код:
//Рис. 2.27: fig02_07.cpp
//Использование оператора continue в структуре for

#include <iostream>
using std::cout;
using std::endl;

int main()
{
   for (int x = 1; x <= 10; x++)
   {
      if (x == 5)
         continue; //пропуск оставшейся части цикла только при x == 5

      cout << x << " ";
   }

   cout << endl << "Использован continue для пропуска печати при х == 5" << endl;
   return 0;
}
Цитата:
Было:
Код:
for(...){
if(state)continue;
expr;
}
Стало:
Код:
for(...){
if(!state){expr;}
}
Т.е. мне надо написать
Код:
if (x != 5)
{

}
Цитата:
достал ты со своими дятлами, весь раздел зафлудил
Мне нужно выучить C++. Твои предложения?
fs444 вне форума Ответить с цитированием
Старый 04.04.2010, 13:49   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

fs444 так это ты написал для того, что бы мы(форумчане) знали или это был вопрос?
profi вне форума Ответить с цитированием
Старый 04.04.2010, 14:05   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
for (int x = 1; x <= 10; x++)
   {
      if (x == 5)
          ;
      else
          cout << x << " ";
   }
NiCola999 вне форума Ответить с цитированием
Старый 04.04.2010, 18:11   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2fs444
Цитата:
Мне нужно выучить C++. Твои предложения?
во-первых, ты учишь не с++, а алгоритмы работы с данными, как я понял. до с++ тебе ойойой как далеко. во-вторых, нужно - учи, я не разрешаю чтоль. ты сам посмотри, сколько тем понасоздавал. если я задаю вопрос, то пытаюсь его крайне минимизировать, чтобы не раздражать других участников марафона. тыж начинаешь свои посты с идиотской фразы "у дейтлов есть задаЧка", далее выкидываешь весьма корявый скан и то, что написал. по мне - неуважение налицо. заметь, я не первый, кто сделал тебе замечание на эту тему. мне на самом деле пофиг, если ты сам не можешь обучаться (кстати, есть курсы там всякие, университеты), но видеть ряд твоих постов мягко говоря, раздражает.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 04.04.2010, 18:33   #7
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

если ты дятловские задачки не можешь делать, попробуй начать с самого простого. Например, прочитал ты про массивы, указатели, создай програмку в которой будут демонстрироваться все полученные навыки. Если ты так будешь по каждой задаче создавать тему, тебе понравится, что все отвечают на твои вопросы и ты привыкнешь к этому. Старайся решать задачи самому, а задавать вопросы после того как хорошо подумаешь и поищешь в интернете.
NiCola999 вне форума Ответить с цитированием
Старый 05.04.2010, 18:50   #8
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

[quote]
Цитата:
это ты написал для того, что бы мы(форумчане) знали или это был вопрос?
Вопрос. Вобщем-то уверен, что сделал правильно. Но мне спокойнее, когда мой ответ знающие люди подтверждают.

Цитата:
ты учишь не с++, а алгоритмы работы с данными, как я понял
В задаче же написано "удалите оператор continue из программы". Значит, я должен в коде разбираться. Это не есть С++?

Цитата:
до с++ тебе ойойой как далеко
В чем заключается С++?

Цитата:
если я задаю вопрос, то пытаюсь его крайне минимизировать
Поверь, я тоже. Надо ж дать все сведения о том, что мне требуется. А то потом придется недосказанное в следующих постах темы на вопросы отвечать.

Цитата:
тыж начинаешь свои посты с идиотской фразы "у дейтлов есть задаЧка"
Уже некоторое время не начинаю

Цитата:
выкидываешь весьма корявый скан
Уже некоторое время выкладываю условие текстом.

Цитата:
по мне - неуважение налицо
В чем же ты видишь неуважение? Я ж не прошу сделать за меня задачу. Прошу совета, а дальше - сам, пока снова вопросы не возникнут.

Цитата:
заметь, я не первый, кто сделал тебе замечание на эту тему
Еще я заметил, что на тему "ты достал своими дятлами" мне втирают только на этом форуме

Цитата:
мне на самом деле пофиг
Тогда не понимаю, зачем ты все это писал? =)

Цитата:
если ты сам не можешь обучаться
Цитата:
Если ты так будешь по каждой задаче создавать тему
Цитата:
Старайся решать задачи самому, а задавать вопросы после того как хорошо подумаешь и поищешь в интернете
Почему ты решил, что я не могу сам обучаться? Сначала максимально решаю задачу сам. А если уж дальше самому - никак, лезу на форум. Для чего он иначе нужен? =)

Цитата:
кстати, есть курсы там всякие, университеты
1) Нет времени ездить на курсы
2) Зачем мне на них ездить, если я могу выучить то, что там объясняют, по книжке с меньшими затратами времени и денег.

Понимаю, что тем создал много. Но причина их появления - не моя лень, а мое незнание способов решения задачи. Сначала лазию в гугле, но там очень редко бывает то, что мне нужно. Потому и иду сюда.

Цитата:
видеть ряд твоих постов мягко говоря, раздражает
Ты же немного выше написал, что тебе пофиг

Цитата:
прочитал ты про массивы, указатели, создай програмку в которой будут демонстрироваться все полученные навыки
Так вот для решения задач, даваемых Дейтлами, и нужны навыки, данные ими в главе, идущей перед задачами. Правда, в некоторых задачах видно, что для ее решения нужны большие знания, чем то, что написано в теоретической части книги. Не понимаю, почему так?

Цитата:
тебе понравится, что все отвечают на твои вопросы и ты привыкнешь к этому
Мне не всегда отвечают. Процентов 15 тем остаются без ответа. Ну и ничего, не расстраиваюсь.
fs444 вне форума Ответить с цитированием
Старый 05.04.2010, 20:06   #9
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
По умолчанию

не легче ли убрать continue таким образом
Цитата:
if (x == 5)
x++;

cout << x << " ";
таким методом мы пропускаем значение х равное 5
сout<<"Изучаю программирование" точка с запятой

Последний раз редактировалось Crudelis; 05.04.2010 в 20:18.
Crudelis вне форума Ответить с цитированием
Старый 05.04.2010, 20:16   #10
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Жуть, надо закрывать
Честно говоря тоже не понял в чем суть темы.
BOBAH13 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог continue в VBA motorway Microsoft Office Excel 10 05.06.2015 00:47
Оператор continue Golovastik Общие вопросы C/C++ 10 20.07.2009 14:19
continue Neymexa Общие вопросы .NET 8 30.04.2009 13:35
Drag&Drop-continue. Icons MAcK Общие вопросы .NET 2 16.09.2008 12:59
bass.dll - ошибка - Use the step or run to continue. vitalik007 Общие вопросы Delphi 1 20.08.2007 19:59