Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 3

Оператор continue

12.10.2016, 00:47. Показов 1251. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
int main()
{
    setlocale(LC_ALL, "Russian");
    int r;
    cout << "Введите кол-во элементов массива = ";
    cin >> r;
    int *a = new int[r];
    int i, l, k, j, n;
    for (i = 0; i < r; i++)
    {
        cout << "mas [" << i << "] = ";
        cin >> a[i];
    }
    l = 1;
    n = 0;
    for (i = 1; i <= r; i++)
    {
        k = i - 1;
        if (a[i] != a[k])
        {
            a[n] = a[k];
            n++;
            a[n] = l;
            n++;
            l = 1;
        }
        else
        {
            l++;
        }
    }
    cout << "Результаты:" << endl;
    for (i = 0; i < n; i++)
    {
        cout << "mas [" << i << "] = " << a[i] << endl;
    }
 
    
    for (i = 1; i <= (n / 2); i++)
    {
        k = 0;
        for (j = 1; j < n; j = j + 2)
        {
            if (i != a[j])
            {
                continue;
            }
            else
            {
                k = 1;
                for (l = j + 2; l < n; l = l + 2)
                {
                    if (a[j] = a[l])
                    {
                        k++;
                    }
                }
                break;
            }
            
        }
        cout << "Длина = " << i << ", число последовательностей = " << k << endl;
    }
    
    system("pause");
    return 0;
}
Почему в этом моменте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for (j = 1; j < n; j = j + 2)
        {
            if (i != a[j])
            {
                continue;
            }
            else
            {
                k = 1;
                for (l = j + 2; l < n; l = l + 2)
                {
                    if (a[j] = a[l])
                    {
                        k++;
                    }
                }
                break;
            }
 
        }
мы не можем заменить другим? Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (j = 1; j < n; j = j + 2)
        {
            
            if (i = a[j])
            {
                k = 1;
                for (l = j + 2; l < n; l = l + 2)
                {
                    if (a[j] = a[l])
                    {
                        k++;
                    }
                }
                break;
            }
Или:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for (j = 1; j < n; j = j + 2)
        {
            if (i = a[j])
            {
                k = 1;
                for (l = j + 2; l < n; l = l + 2)
                {
                    if (a[j] = a[l])
                    {
                        k++;
                    }
                }
                break;
            }
            if (i != a[j])
            {
                continue;
            }
            
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2016, 00:47
Ответы с готовыми решениями:

Оператор continue
void drawCircle(int x0, int y0, int radius) { int x = 0; int y = radius; int delta = 2 - 2 * radius; ...

Оператор continue
Скажите пожалуйста! Почему, в данной программе у меня не работает оператор Continue.Программа должна умножать введённые числа игнорируя...

Оператор continue
Прошу прощения за глупый вопрос. Пишу курсовую, голова уже совсем не работает. for (level=0;level&lt;CatalogueCount;level++) { if...

5
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
12.10.2016, 00:49
Цитата Сообщение от Ofey Посмотреть сообщение
if (i = a[j])
и что это?
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 3
12.10.2016, 00:54  [ТС]
Вот задача, вверху скинул целый код, а именно if (i = a[j]) - это сравнивание в данном случае длинны, которая i, с длинами повторяющихся элементов массива.
Создать программу, которая вводит c клавиатуры массив целых чисел, находит в нем все повторяющиеся последовательности (1 1, 2 2 2 и т.д.) и заменяет каждую из них на два элемента: повторяющееся число и длину последовательности. Выдать результирующую последовательность и пары "длина - число последовательностей данной длины"

вход: 1 1 1 2 2 2 2 3 4 4 4 5 5 5
выход: 1 3 2 4 3 4 3 5 3
1 - 1
2 - 0
3 - 3
4 - 1
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
12.10.2016, 00:57
Ofey, присмотритесь к своему сравнению - суть темы если можно написать по-другому, зачем писать так? Так пишите как вам удобно. В чём проблема?
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 3
12.10.2016, 01:20  [ТС]
Простите, допустил очень глупую ошибку, сразу почему-то не увидел, что у меня просто =, а не ==. В любом случае, спасибо за ответ.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.10.2016, 01:22
Ofey,
Цитата Сообщение от Ofey Посмотреть сообщение
это сравнивание
это присвоение. операция сравнения это ==. Но дело не в этом даже. Не глядя глубоко, а отвечая на вопрос равносильности мне кажется Ваши варианты не эквивалентны исходному. В оригинале ветвь цикла пройдёт до конца у всех итераций цикла где значение элемента совпадёт с i, а остальные будут пропущены. То есть на каждой итерации цикла прерывается неподходящая итерация. А break прерывает весь цикл как таковой. То есть, результат будет другой. Если есть несколько i которым сответствуют какие-то элементы массива. А вот если совпадение возможно, только для одного значения i, то break будет работать также, но быстрее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2016, 01:22
Помогаю со студенческими работами здесь

Оператор continue.
Помогите:Вывести нечетные числа от 0 до 100, используя оператор continue.

Оператор continue в цикле for
Почему цифра &quot;1&quot; выводится два раза? Разве continue не предполагает пропуск всего оставшегося кода и переход к следующей итерации? ...

как задействовать оператор continue?
Написал программу для демонстрации работы оператора continue. Компилятор ругается, пишет что оператор не в петле. Программу списал из...

Почему оператор continue выводит наверх цикла?
Всем привет! Начинаю осваивать программирование, написал вот такую программу для вычисления определённого члена последовательности...

Инструкция if(.) continue
Объясните пожалуйста как работает эта инструкция на таком примере: #include &lt;bits/stdc++.h&gt; using namespace std; int main() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru