Вложенные циклы
Часть раздела Fundamentals путешествия по C на Coddy — урок 43 из 63.
Вложенные циклы — это циклы, размещенные внутри другого цикла. Для каждой итерации внешнего цикла внутренний цикл выполняется полностью.
Создайте внешний цикл, который выполняется 3 раза:
for (int i = 0; i < 3; i++) {
// Код внешнего цикла здесь
}Добавьте внутренний цикл, который выполняется 2 раза для каждой итерации внешнего цикла:
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}Результат будет следующим:
0,0 0,1 0,2
1,0 1,1 1,2 Обратите внимание, как внутренний цикл завершает свои итерации, прежде чем внешний цикл перейдет к своей следующей итерации.
Задание
ЛегкоСоздайте программу, которая выводит прямоугольный узор из звездочек (*) на основе количества строк и столбцов, введенных пользователем.
Ваша программа должна:
- Считать два целых числа от пользователя: rows и columns.
- Использовать вложенные циклы для вывода прямоугольного узора из звездочек, где внешний цикл отвечает за строки, а внутренний — за столбцы.
- Выводить символ новой строки после каждой строки.
Например, если на вход подается 3 строки и 4 столбца, вывод должен быть следующим:
****
****
****Шпаргалка
Вложенные циклы — это циклы, помещенные внутрь другого цикла. Для каждой итерации внешнего цикла внутренний цикл выполняется полностью.
Базовая структура вложенного цикла:
for (int i = 0; i < outer_limit; i++) {
for (int j = 0; j < inner_limit; j++) {
// Код внутреннего цикла
}
// Код внешнего цикла
}Пример с выводом:
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}Вывод:
0,0 0,1 0,2
1,0 1,1 1,2Внутренний цикл завершает все свои итерации до того, как внешний цикл перейдет к следующей итерации.
Попробуйте сами
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// Напишите здесь свой код для вывода узора
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение