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

Как записать несколько условий в цикле for?

25.07.2021, 17:17. Показов 22626. Ответов 11

Студворк — интернет-сервис помощи студентам
как прописать несколько условий в цикле for?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2021, 17:17
Ответы с готовыми решениями:

Как задать несколько условий в одном цикле
Здравствуйте, подскажите, пожалуйста, кто знает, как задать несколько условий в одном цикле? Например, сгенерировать текие четыре числа,...

Несколько условий в цикле
Не корректно работает счетчик в таком виде: Например при вводе: 95, 92, 92 должно получиться dt=1, st=2. Но выводится dt=3 , остальные...

Несколько условий в цикле
Здравствуйте! Помогите сделать проще. Задача следующая: есть папка, в ней находится множество подпапок, в подпапках файлы - из которых...

11
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
25.07.2021, 17:34
Цитата Сообщение от selo4404 Посмотреть сообщение
как прописать несколько условий в цикле for?
C++
1
for ( int i {}; true && true; ++i );  // infinite loop
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,231
25.07.2021, 19:46
Цитата Сообщение от selo4404 Посмотреть сообщение
как прописать несколько условий в цикле for?
Никак. В цикле for допускается только одно условие.

Что вы вообще имеет в виду под "прописать несколько условий"? Зачем?
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 80
25.07.2021, 21:32  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что вы вообще имеет в виду под "прописать несколько условий"? Зачем?
1) чтобы избавиться от вложенных циклов.
2) чтобы было несколько счётчиков i,j,k (например)
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,231
25.07.2021, 21:34
Цитата Сообщение от selo4404 Посмотреть сообщение
1) чтобы избавиться от вложенных циклов.
2) чтобы было несколько счётчиков i,j,k (например)
Примеры недостаточно конкретны. Все равно не ясно, о чем именно идет речь.
0
фрилансер
 Аватар для Алексей1153
6461 / 5666 / 1130
Регистрация: 11.10.2019
Сообщений: 15,081
25.07.2021, 21:43
selo4404, можно использовать класс, в котором будет "оператор инкремента", сменяющий состояние экземпляра класса в нужном направлении. Таким образом можно завернуть N вложенных циклов в один.

Однако, производительность сильно пострадает
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,231
25.07.2021, 23:53
Запихать несколько вложенных циклов в один, при желании, труда не составит

C
1
2
3
4
5
6
7
8
9
#define N 5
#define M 8
#define L 6
 
int main() 
{
  for (unsigned i = 0, j = 0, k = 0; i < N; ++k == L ? k = 0, ++j == M ? j = 0, ++i : 0 : 0)
    printf("%d %d %d\n", i, j, k);
}
Однако для этого не нужно множественных условий.

По прежнему не ясно, о чем идет речь в вопросе ТС и чем ему могут помочь "несколько условий в цикле for".
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
26.07.2021, 01:19
Цитата Сообщение от selo4404 Посмотреть сообщение
1) чтобы избавиться от вложенных циклов.
2) чтобы было несколько счётчиков i,j,k (например)
Действительно непонятно. что и зачем.

можно вот такую бредятину написать, проход по двумерному массиву одним циклом
вопрос - зачем ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    const int rows=2,cols=3;
    int arr[rows][cols]={{11,12,13},{21,22,23}};
    for (int i=0, j=0; // инициализация
         i<rows && j<cols; // условие работы цикла
        ++j, j==cols ? ++i,j=0,std::cout<<std::endl : std::cout<<' ' )
    {
        std::cout<<arr[i][j];
    }
}
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 80
26.07.2021, 05:01  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
можно вот такую бредятину написать, проход по двумерному массиву одним циклом
вопрос - зачем ?
Бьюсь над "квадратом Паркера" - диагонали, удовлетворяющие условию, нашел, осталось 4 значения подобрать
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
26.07.2021, 07:09
selo4404, наверное имеет ввиду несколько условий:
C++
1
for(int i=0, j=10; i<10 || j>=0; i++, j--)
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,231
26.07.2021, 07:26
Цитата Сообщение от YUEN HOIFEF Посмотреть сообщение
selo4404, наверное имеет ввиду несколько условий:
C++
1
for(int i=0, j=10; i<10 || j>=0; i++, j--)
Но i<10 || j>=0 - это одно условие.
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
26.07.2021, 07:29
Одно из нескольких
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2021, 07:29
Помогаю со студенческими работами здесь

Несколько условий в цикле do while
Нужно, чтобы пользователь ввел или 1 или 2: #include &lt;cmath&gt; #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; ...

несколько условий в цикле
Кто знает? Можно ли при объявлении цикла задать что-то типа: for i: = (1 to 20) and (100 to 120) do ? И если нельзя то как лучше это...

Несколько условий в цикле for
Имеются строчки кода for j := ACol1 to ACol2 do for i := ARow1 to ARow2 do Если возможность написать эти строки так. for j...

Как прописать несколько условий при ИСТИНА и несколько условий при ЛОЖЬ?
Всем доброго времени суток. If &amp; Else как прописать несколько условий при ИСТИНА и несколько условий при ЛОЖЬ ? Напр В11:С18...

Записать в List несколько Dictionary в цикле
Всем пт! У меня возникла следующая проблема, надеюсь на Вашу помощь: Мне необходимо записать в List несколько Dictionary: ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru