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