Menu
CoddyTech

Verschachtelte Schleifen

Teil des Abschnitts Grundlagen der GO-Journey von Coddy. Lektion 49 von 109.

Verschachtelte Schleifen sind Schleifen, die sich innerhalb einer anderen Schleife befinden. Die innere Schleife wird bei jeder Iteration der äußeren Schleife vollständig ausgeführt.

Erstellen wir mithilfe verschachtelter Schleifen eine Multiplikationstabelle für die Zahlen 1–3:

rows := 3
cols := 3
for i := 1; i <= rows; i++ {
    for j := 1; j <= cols; j++ {
        fmt.Printf("%d×%d=%d\t", i, j, i*j)
    }
    fmt.Println()
}

Nach der Ausführung dieses Codes erhalten wir eine Multiplikationstabelle, in der jede Zeile einen Wert der Variablen der äußeren Schleife (i) multipliziert mit allen Werten der Variablen der inneren Schleife (j) darstellt. Die Ausgabe wird auf dem Bildschirm angezeigt:

1×1=1   1×2=2   1×3=3   
2×1=2   2×2=4   2×3=6   
3×1=3   3×2=6   3×3=9   

Schauen wir uns Schritt für Schritt an, wie das funktioniert:

Zuerst setzt die äußere Schleife i=1, und die innere Schleife wird vollständig durchlaufen:

i=1, j=1: prints "1×1=1"
i=1, j=2: prints "1×2=2"
i=1, j=3: prints "1×3=3"

Nachdem die innere Schleife beendet ist, geben wir mit fmt.Println() eine neue Zeile aus.

Dann setzt die äußere Schleife i=2, und die innere Schleife beginnt erneut, wobei j wieder bei 1 startet:

i=2, j=1: prints "2×1=2"
i=2, j=2: prints "2×2=4"
i=2, j=3: prints "2×3=6"

Schließlich setzt die äußere Schleife i=3, und die innere Schleife wird ein letztes Mal ausgeführt:

i=3, j=1: prints "3×1=3"
i=3, j=2: prints "3×2=6"
i=3, j=3: prints "3×3=9"

Jede Schleife hat ihren eigenen Zähler (i und j), und rows und cols ändern sich nie: Sie geben den Schleifen lediglich an, wann sie anhalten sollen. Dieses Muster ist sehr nützlich, um mit Datentabellen zu arbeiten oder gitterartige Strukturen zu erstellen.

challenge icon

Aufgabe

Anfänger

In dieser Herausforderung übst du, verschachtelte Schleifen zu verwenden, um ein einfaches Muster auszugeben. Die äußere Schleife durchläuft die Zeilen, und die innere Schleife durchläuft die Spalten, um ein kleines Raster aus Zeichen zu erstellen.

Vervollständige die verschachtelten Schleifen, um ein 3x3-Raster aus Sternchen (*) auszugeben. Auf jedes Sternchen muss ein Leerzeichen folgen, sodass jede Zeile wie * * * aussieht (mit einem abschließenden Leerzeichen). Die erwartete Ausgabe ist:

* * * 
* * * 
* * * 

Verwende für jede Schleife einen eigenen Zähler (zum Beispiel i für die Zeilen und j für die Sterne in einer Zeile) und vergleiche ihn mit rows oder columns. Ändere nicht rows und columns selbst: Jede Zeile benötigt erneut columns.

Probier es selbst

package main

import "fmt"

func main() {
	// Anzahl der Zeilen und Spalten in unserem Raster
	rows := 3
	columns := 3
	
	// TODO: Erstelle eine verschachtelte Schleife, um ein Raster aus Sternchen (*) auszugeben
	// Die äußere Schleife sollte über die Zeilen iterieren
	// Die innere Schleife sollte über die Spalten iterieren
	for i := 0; i < rows; i++ {
		// Füge hier deine innere Schleife ein, um in jeder Spalte Sternchen auszugeben
		
		// Dies gibt nach jeder Zeile einen Zeilenumbruch aus
		fmt.Println()
	}
}
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-Go-Compiler