Вложенные циклы
Часть раздела Основы путешествия по C++ на Coddy — урок 48 из 74.
Вложенный цикл — это просто цикл внутри другого цикла. Внутренний цикл выполнит все свои итерации для каждой отдельной итерации внешнего цикла.
Хорошей аналогией для этого являются часы: для каждого часа (внешний цикл) минутная стрелка (внутренний цикл) должна пройти свой полный 60-минутный цикл.
Пример вложенного цикла:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
std::cout << x << " " << y << std::endl;
}
}
// Это выведет:
// 0 0
// 0 1
// 1 0
// 1 1Внешний цикл (x) выполняется дважды, и при каждом его выполнении внутренний цикл (y) выполняется дважды.
Задание
НовичокНапишите программу, которая находит все пары чисел, сумма которых равна n, используя числа от 1 до n - 1.
Программа должна вывести все возможные комбинации, включая дублирующиеся пары в обратном порядке. Например, должны быть выведены и "1 5", и "5 1", так как они считаются разными вариантами одной и той же пары. Числа также могут образовывать пару сами с собой, если их сумма равна n.
Например, если n = 6, вывод должен быть следующим:
1 5
2 4
3 3
4 2
5 1Потому что:
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6Шпаргалка
Вложенный цикл — это цикл внутри другого цикла. Внутренний цикл выполняет все свои итерации для каждой отдельной итерации внешнего цикла.
Базовая структура вложенного цикла:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
std::cout << x << " " << y << std::endl;
}
}
// Вывод:
// 0 0
// 0 1
// 1 0
// 1 1Внешний цикл выполняется полностью, и для каждой итерации внешнего цикла внутренний цикл проходит через все свои итерации.
Попробуйте сами
#include <iostream>
int main() {
int n;
std::cin >> n;
// Напишите свой код ниже
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else