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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2015, 16:27   #1
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию Почему не работает оператор continue?

Почему не работает оператор continue? В чем ошибка?
Код:
#include <iostream>

using namespace std;

int main()
{
    int a, b, c, d, e;

    cout << "Vvedite 5 raznih chisel: " << endl;
    cin >> a >> b >> c >> d >> e;

    if (a == b)
        if (a == c)
            if (a == d)
                if (a == e)
                    if (b == c)
                        if (b == d)
                            if (b == e)
                                if (c == d)
                                    if (c == e)
                                        if (d == e)
                                            cout << "Odinakovie chisla vvodit nelzya!";
                                            continue;

    if (a > b)
        if (a > c)
            if (a > d)
                if (a > e)
                cout << "Naibolshee chislo: " << a << endl;

    if (b > a)
        if (b > c)
            if (b > d)
                if (b > e)
                cout << "Naibolshee chislo: " << b << endl;

    if (c > a)
        if (c > b)
            if (c > d)
                if (c > e)
                cout << "Naibolshee chislo: " << c << endl;

    if (d > a)
        if (d > b)
            if (d > c)
                if (d > e)
                cout << "Naibolshee chislo: " << d << endl;

    else
    cout << "Naibolshee chislo: " << e << endl;
    return 0;
}
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене

Последний раз редактировалось Stilet; 01.06.2015 в 20:01.
WildWhiteRabbit вне форума Ответить с цитированием
Старый 01.06.2015, 16:38   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а цикл то где?
p51x вне форума Ответить с цитированием
Старый 01.06.2015, 17:09   #3
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию

цикл должен быть после continue или continue должен быть внутри цикла? и правильно ли я понял, что цикл это while?
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене
WildWhiteRabbit вне форума Ответить с цитированием
Старый 01.06.2015, 17:28   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Эээ... Тогда вопрос по проще: а чего вы хотели добиться применением continue?
p51x вне форума Ответить с цитированием
Старый 01.06.2015, 17:53   #5
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию

Строго не судите Я хотел бы чтобы он вернул пользователя к начальному вопросу о вводе 5 цифр.
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене
WildWhiteRabbit вне форума Ответить с цитированием
Старый 01.06.2015, 19:19   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Хорошо. Следующий вопрос: откуда/как continue должен узнать, куда вернуть управление?
p51x вне форума Ответить с цитированием
Старый 01.06.2015, 19:35   #7
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию

continue возвращает на начало цикла, если условие указанное перед ним выполняется. - чую, что в этом утверждении собака и зарыта. Не так все это, судя по всему.
Вот так ближе к истине?
Код:
#include <iostream>

using namespace std;

int main()
{
int a, b, c, d, e;

cout << "Vvedite 5 raznih chisel: " << endl;
cin >> a >> b >> c >> d >> e;
while
{
if (a == b)
if (a == c)
if (a == d)
if (a == e)
if (b == c)
if (b == d)
if (b == e)
if (c == d)
if (c == e)
if (d == e)
cout << "Odinakovie chisla vvodit nelzya!";
continue;
}
if (a > b)
if (a > c)
if (a > d)
if (a > e)
cout << "Naibolshee chislo: " << a << endl;

if (b > a)
if (b > c)
if (b > d)
if (b > e)
cout << "Naibolshee chislo: " << b << endl;

if (c > a)
if (c > b)
if (c > d)
if (c > e)
cout << "Naibolshee chislo: " << c << endl;

if (d > a)
if (d > b)
if (d > c)
if (d > e)
cout << "Naibolshee chislo: " << d << endl;

else
cout << "Naibolshee chislo: " << e << endl;
return 0;
}
П.С.: Отлично объясняете, между прочим. Могу ли вам в друзья набиться?

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

Последний раз редактировалось Stilet; 01.06.2015 в 20:01.
WildWhiteRabbit вне форума Ответить с цитированием
Старый 01.06.2015, 19:41   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

До условия выхода подумайте еще над телом цикла. Вы ведь хотите, чтоб пользователь вашей программы вводил цифры?..
p51x вне форума Ответить с цитированием
Старый 01.06.2015, 19:49   #9
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию

я понял. нужно обозначить что данный цикл начинает выполняться тогда, когда все 5 чисел введены, так?
значит
while (a, b, c, d, e)
{...
так?

Я безнадежен
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене

Последний раз редактировалось Stilet; 01.06.2015 в 20:02.
WildWhiteRabbit вне форума Ответить с цитированием
Старый 01.06.2015, 20:43   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Есть еще одна вещь, не про циклы, а так... Условие в операторе if может быть не одно, а несколько однотипных можно объединять, типа:
Если а=b и a=c и а=d и а=e тогда Одинаковые числа вводить нельзя!
Если а=b и а=с то логично предположить, что b=c и нет смысла это проверять. Верхнее условие сильно перегружено и может уместиться в один if (а может стать условием выход из цикла while, если хорошенько подумать над этим).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 01.06.2015 в 20:46.
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 19:36
Почему не перегружаем оператор = Студ Общие вопросы C/C++ 8 21.03.2014 12:45
Оператор continue. AnnaKom Помощь студентам 2 20.01.2012 12:20
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Оператор continue Golovastik Общие вопросы C/C++ 10 20.07.2009 14:19