Вложенные циклы
Часть раздела Основы путешествия по C на Coddy. Урок 43 из 63.
Вложенные циклы — это циклы, расположенные внутри другого цикла. При каждой итерации внешнего цикла внутренний цикл выполняется полностью.
Создай внешний цикл, который выполняется 3 раза:
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