Menu
CoddyTech

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 1

Die ä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.

challenge icon

Aufgabe

Anfänger

Schreibe 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

    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-C#-Compiler