Menu
Coddy logo textTech

Вложенные циклы

Часть раздела Основы путешествия по 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) выполняется дважды.

challenge icon

Задание

Новичок

Напишите программу, которая находит все пары чисел, сумма которых равна 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;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы