Menu
Coddy logo textTech

Dostęp do elementów tablic 2D

Część sekcji Logika i przepływ programu ścieżki Ruby w Coddy. Lekcja 11 z 56.

Aby odczytać lub zaktualizować pojedynczą komórkę w tablicy 2D, połącz dwa odwołania indeksowe: pierwsze wybiera wiersz, drugie wybiera kolumnę.

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

puts matrix[0][0]   # 10  (lewy górny róg)
puts matrix[1][2]   # 60  (wiersz 1, kolumna 2)
puts matrix[2][0]   # 70  (lewy dolny róg)

Aktualizowanie komórki wymaga użycia tej samej składni po lewej stronie:

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

Dwa przydatne zapytania dotyczące kształtu:

puts matrix.length         # 3 (liczba wierszy)
puts matrix[0].length      # 3 (kolumny w wierszu 0)

Indeksy zaczynają się od 0 i dochodzą do length - 1. Wyjście poza koniec zwraca nil zamiast zgłaszać błąd.

challenge icon

Wyzwanie

Początkujący

Dana jest tablica 2D matrix. Wczytaj trzy liczby całkowite (trzy wiersze): r1, c1, a następnie v. Następnie:

  1. Wypisz wartość z pozycji matrix[r1][c1]
  2. Ustaw matrix[r1][c1] = v
  3. Wypisz całą zaktualizowaną tablicę matrix za pomocą inspect

Dla wejścia 1 / 2 / 99 wynikiem jest:

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

Spróbuj swoich sił

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

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

# TODO: wypisz matrix[r1][c1], przypisz v, a następnie wypisz całą macierz
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Ruby online