Verschachtelte Schleife
Teil des Abschnitts Grundlagen der C#-Journey von Coddy. Lektion 46 von 69.
Eine verschachtelte Schleife ist einfach eine Schleife innerhalb einer anderen Schleife. Die innere Schleife führt bei jedem einzelnen Durchlauf der äußeren Schleife alle ihre Iterationen aus.
Ein gutes Beispiel dafür ist eine Uhr: Für jede Stunde (äußere Schleife) muss der Minutenzeiger (innere Schleife) seinen vollständigen 60-Minuten-Zyklus durchlaufen.
Beispiel für eine verschachtelte Schleife:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
Console.WriteLine(x + " " + y);
}
}
// Dies gibt Folgendes aus:
// 0 0
// 0 1
// 1 0
// 1 1Die äußere Schleife (x) wird rows-mal ausgeführt, und für jedes dieser Male wird die innere Schleife (y) cols-mal ausgeführt. Das bedeutet, dass der Rumpf der inneren Schleife insgesamt 2 × 2 = 4-mal ausgeführt wird. Jede Schleife hat ihren eigenen Zähler: y beginnt jedes Mal wieder bei 0, wenn die äußere Schleife ausgeführt wird, während rows und cols gleich bleiben und den Schleifen nur mitteilen, wann sie beendet werden sollen.
Bei der Arbeit mit verschachtelten Schleifen benötigst du möglicherweise auch Console.Write(). Anders als Console.WriteLine(), das Text ausgibt und in eine neue Zeile wechselt, gibt Console.Write() Text ohne einen Zeilenumbruch am Ende aus. So kannst du die Ausgabe in derselben Zeile aufbauen:
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// Dies gibt Folgendes aus:
// * * * * Hier gibt Console.Write() weiterhin in derselben Zeile aus, und Console.WriteLine() am Ende wechselt zur nächsten Zeile.
Aufgabe
AnfängerSchreibe ein Programm, das ein Rechteck aus Sternchen (*) mit einer vorgegebenen Breite und Höhe ausgibt.
Eingabe: Zwei Ganzzahlen: width und height
Zum Beispiel:
Wenn width = 5 und height = 3 gilt, sollte die Ausgabe folgendermaßen aussehen:
*****
*****
*****Wenn width = 4 und height = 6 gilt, sollte die Ausgabe folgendermaßen aussehen:
****
****
****
****
****
****Verwende für jede Schleife einen neuen Zähler (zum Beispiel i für die Zeilen und j für die Sternchen in einer Zeile) und vergleiche ihn mit height oder width. Ändere nicht height und width selbst: Für jede Zeile wird width erneut benötigt.
Probier es selbst
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Schreibe deinen Code unten
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische Kurzschreibweisen7Grundlagen IO
Einfache AusgabeString-InterpolationEingabe lesenParsenWiederholung - Bis 120Wiederholung - True or False5Operatoren Teil 2
VergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 36Entscheidungsfindung
If-AnweisungIf - ElseSwitch-AnweisungTernärer OperatorWiederholung - If ElseVerschachteltes If - Else9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueVerschachtelte SchleifeEndlosschleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Online-C#-Compiler