Zagnieżdżona pętla
Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 46 z 69.
Pętla zagnieżdżona to po prostu pętla wewnątrz innej pętli. Pętla wewnętrzna wykona wszystkie swoje iteracje podczas każdej pojedynczej iteracji pętli zewnętrznej.
Dobrym porównaniem jest zegar: dla każdej godziny (pętla zewnętrzna) wskazówka minutowa (pętla wewnętrzna) musi wykonać pełny 60-minutowy cykl.
Przykład zagnieżdżonej pętli:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Wynikiem będzie:
// 0 0
// 0 1
// 1 0
// 1 1Pętla zewnętrzna (x) wykonuje się dwa razy, a za każdym razem pętla wewnętrzna (y) wykonuje się dwa razy, co oznacza, że ciało pętli wewnętrznej wykonuje się łącznie 4 razy.
Podczas pracy z zagnieżdżonymi pętlami może być też potrzebne Console.Write(). W przeciwieństwie do Console.WriteLine(), które wypisuje tekst i przechodzi do nowej linii, Console.Write() wypisuje tekst bez dodawania na końcu znaku nowej linii. Dzięki temu możesz budować wynik w tym samym wierszu:
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// To spowoduje wyświetlenie:
// * * * * Tutaj Console.Write() nadal wypisuje tekst w tym samym wierszu, a Console.WriteLine() na końcu przechodzi do następnego wiersza.
Wyzwanie
PoczątkującyNapisz program, który wypisuje prostokąt z gwiazdek (*) o podanej szerokości i wysokości.
Dane wejściowe: Dwie liczby całkowite: width i height
Na przykład:
Jeśli width = 5 i height = 3, dane wyjściowe powinny wyglądać tak:
*****
*****
*****Jeśli width = 4 i height = 6, dane wyjściowe powinny wyglądać tak:
****
****
****
****
****
****Spróbuj swoich sił
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Napisz swój kod poniżej
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczne7Podstawowe wejście i wyjście
Podstawowe wyjścieInterpolacja ciągów znakówOdczytywanie danych wejściowychParsowaniePowtórka — do 120Powtórka — prawda czy fałsz5Operatory część 2
Operatory porównaniaOperatory logiczne część 1Operatory logiczne część 2Powtórka — prosta logikaOperatory logiczne część 36Podejmowanie decyzji
Instrukcja ifIf - ElseInstrukcja switchOperator trójargumentowyPowtórzenie - If ElseZagnieżdżone If - Else9Pętle
Pętla forPętla whilePętla do whileInstrukcja breakInstrukcja continueZagnieżdżona pętlaNieskończona pętlaPowtórzenie – dynamiczne dane wejściowe12Operacje na ciągach znaków
Metody ciągów znaków – część 1Metody ciągów znaków – część 2Formatowanie ciągów znakówPoćwicz samodzielnie: Kompilator C# online