Menu
Coddy logo textTech

Podstawy tablic 2D

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

Tablica 2D to tablica, której elementami są inne tablice. Każda wewnętrzna tablica reprezentuje wiersz w siatce.

cinema = [
  [true,  true],   # Rząd 0
  [false, true]    # Rząd 1
]

To przedstawia siatkę 2×2: dwa wiersze, każdy z dwiema kolumnami.

Aby utworzyć siatkę 3×4 liczb całkowitych:

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

Możesz utworzyć siatkę wypełnioną domyślną wartością za pomocą Array.new dwa razy: raz dla wierszy, a raz dla kolumn:

grid = Array.new(3) { Array.new(4, 0) }
# 3 wiersze, 4 kolumny, same zera

Forma blokowa ({ Array.new(4, 0) }) ma znaczenie: tworzy nową wewnętrzną tablicę dla każdego wiersza. Bez niej każdy wiersz wskazywałby na tę samą tablicę.

challenge icon

Wyzwanie

Łatwy

Wczytaj dwie liczby całkowite (dwa wiersze danych wejściowych): rows i cols. Zbuduj tablicę 2D o takim rozmiarze, w której każda komórka jest równa row * cols + col + 1 (czyli pierwszy wiersz zaczyna się od 1, a siatka jest wypełniana w kolejności czytania).

Wypisz siatkę, używając inspect na zewnętrznej tablicy, w jednym wierszu.

Dla danych wejściowych 2, a następnie 3, wynikiem jest:

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

Spróbuj swoich sił

rows = gets.to_i
cols = gets.to_i

# TODO: utwórz siatkę i wypisz ją za pomocą inspect
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