Menu
Coddy logo textTech

2D-Array Grundlagen

Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy — Lektion 10 von 56.

Ein 2D-Array ist ein Array, dessen Elemente selbst Arrays sind. Jedes innere Array repräsentiert eine Zeile in einem Raster.

cinema = [
  [true,  true],   # Zeile 0
  [false, true]    # Zeile 1
]

Dies stellt ein 2×2-Gitter dar, zwei Zeilen mit jeweils zwei Spalten.

Um ein 3×4-Gitter aus Ganzzahlen zu erstellen:

matrix = [
  [ 1,  2,  3,  4],
  [ 5,  6,  7,  8],
  [ 9, 10, 11, 12]
]

Sie können ein Raster, das mit einem Standardwert gefüllt ist, erstellen, indem Sie Array.new zweimal verwenden, einmal für Zeilen und einmal für Spalten:

grid = Array.new(3) { Array.new(4, 0) }
# 3 Zeilen, 4 Spalten, alles Nullen

Die Blockform ({ Array.new(4, 0) }) ist wichtig, da sie für jede Zeile ein neues inneres Array erstellt. Ohne sie würde jede Zeile auf dasselbe Array verweisen.

challenge icon

Aufgabe

Einfach

Lies zwei Ganzzahlen ein (zwei Zeilen Eingabe): rows und cols. Erstelle ein 2D-Array dieser Größe, bei dem jede Zelle gleich row * cols + col + 1 ist (so zählt die erste Zeile ab 1 und das Gitter wird in Lesereihenfolge gefüllt).

Gib das Gitter mit inspect auf dem äußeren Array in einer Zeile aus.

Für die Eingabe 2 und dann 3 ist die Ausgabe:

[[1, 2, 3], [4, 5, 6]]

Spickzettel

2D-Arrays sind Arrays von Arrays, wobei jedes innere Array eine Zeile ist:

matrix = [
  [1, 2, 3],
  [4, 5, 6]
]

Erstellen Sie ein Gitter mit einem Standardwert unter Verwendung von Array.new mit einem Block (der Block stellt sicher, dass jede Zeile ein separates Array ist):

grid = Array.new(3) { Array.new(4, 0) }
# 3 Zeilen, 4 Spalten, alles Nullen

Probier es selbst

rows = gets.to_i
cols = gets.to_i

# TODO: Erstelle das Gitter und gib es mit inspect aus
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 Logik & Programmfluss