Menu
Coddy logo textTech

Zugriff auf 2D-Elemente

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

Um eine einzelne Zelle in einem 2D-Array zu lesen oder zu aktualisieren, verknüpfst du zwei Indexzugriffe: Der erste wählt die Zeile aus, der zweite die Spalte.

matrix = [
  [10, 20, 30],
  [40, 50, 60],
  [70, 80, 90]
]

puts matrix[0][0]   # 10  (oben links)
puts matrix[1][2]   # 60  (Zeile 1, Spalte 2)
puts matrix[2][0]   # 70  (unten links)

Das Aktualisieren einer Zelle verwendet auf der linken Seite dieselbe Syntax:

matrix[0][1] = 99
puts matrix[0].inspect   # [10, 99, 30]

Zwei nützliche Abfragen zur Form:

puts matrix.length         # 3 (Anzahl der Zeilen)
puts matrix[0].length      # 3 (Spalten in Zeile 0)

Indizes beginnen bei 0 und gehen bis length - 1. Wird über das Ende hinausgegangen, wird nil zurückgegeben, anstatt einen Fehler auszulösen.

challenge icon

Aufgabe

Anfänger

Das 2D-Array matrix ist gegeben. Lies drei Ganzzahlen (drei Zeilen): r1, c1, dann v. Dann:

  1. Gib den Wert an matrix[r1][c1] aus
  2. Setze matrix[r1][c1] = v
  3. Gib das vollständig aktualisierte matrix mit inspect aus

Für die Eingabe 1 / 2 / 99 lautet die Ausgabe:

60
[[10, 20, 30], [40, 50, 99], [70, 80, 90]]

Probier es selbst

matrix = [
  [10, 20, 30],
  [40, 50, 60],
  [70, 80, 90]
]

r1 = gets.to_i
c1 = gets.to_i
v  = gets.to_i

# TODO: matrix[r1][c1] ausgeben, v zuweisen, dann die ganze Matrix ausgeben
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

Übe selbstständig: Online-Ruby-Compiler