Вложенные циклы
Часть раздела Основы путешествия по C# на Coddy — урок 46 из 69.
Вложенный цикл — это просто цикл внутри другого цикла. Внутренний цикл выполнит все свои итерации для каждой отдельной итерации внешнего цикла.
Хорошей аналогией для этого являются часы: для каждого часа (внешний цикл) минутная стрелка (внутренний цикл) должна совершить полный 60-минутный цикл.
Пример вложенного цикла:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Это выведет:
// 0 0
// 0 1
// 1 0
// 1 1Внешний цикл (x) выполняется дважды, и при каждом его выполнении внутренний цикл (y) также выполняется дважды — что дает нам в общей сложности 4 строки вывода.
В примере выше Console.WriteLine() выводит каждый результат на новую строку.
Если вы хотите вывести текст без перехода на новую строку, используйте Console.Write() вместо этого:
Console.Write("Hello ");
Console.Write("World");
// Вывод: Hello WorldОба метода полезны — Console.WriteLine() добавляет символ новой строки в конце, в то время как Console.Write() оставляет курсор на той же строке.
Задание
НовичокНапишите программу, которая выводит прямоугольник из звездочек (*) заданной ширины и высоты.
Ввод: два целых числа: width и height
Например:
Если width = 5 и height = 3, результат должен быть следующим:
*****
*****
*****Если width = 4 и height = 6, результат должен быть следующим:
****
****
****
****
****
****Шпаргалка
Вложенный цикл — это цикл внутри другого цикла. Внутренний цикл выполняет все свои итерации для каждой отдельной итерации внешнего цикла.
Пример вложенных циклов:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Вывод:
// 0 0
// 0 1
// 1 0
// 1 1Внешний цикл выполняется дважды, и для каждой итерации внутренний цикл выполняется полностью дважды.
Вывод данных:
Console.WriteLine() выводит значение и переходит на новую строку.
Console.Write() выводит значение без перехода на новую строку, поэтому следующий вывод продолжается на той же строке.
Попробуйте сами
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Напишите свой код ниже
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операции7Основы ввода-вывода
Базовый выводИнтерполяция строкЧтение вводаПарсингПовторение — до 120Повторение — True или False5Операторы. Часть 2
Операторы сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
VarКонстантыСоглашения об именованииПовторение: инициализация переменныхПриведение типов6Принятие решений
Оператор ifКонструкция if - elseОператор switchТернарный операторПовторение: if - elseВложенный if - else