Menu
Coddy logo textTech

2D Dizi Temelleri

Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 10 / 56.

2D (iki boyutlu) dizi, elemanları kendileri de dizi olan bir dizidir. Her bir iç dizi, bir ızgaradaki satırı temsil eder.

cinema = [
  [true,  true],   # Satır 0
  [false, true]    # Satır 1
]

Bu, her biri iki sütunlu iki satırdan oluşan 2×2'lik bir ızgarayı temsil eder.

Tam sayılardan oluşan 3×4'lük bir ızgara oluşturmak için:

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

Array.new yöntemini biri satırlar, diğeri sütunlar için olmak üzere iki kez kullanarak varsayılan bir değerle doldurulmuş bir ızgara oluşturabilirsiniz:

grid = Array.new(3) { Array.new(4, 0) }
# 3 satır, 4 sütun, tamamı sıfır

Blok formu ({ Array.new(4, 0) }) önemlidir, her satır için yeni bir iç dizi oluşturur. Bu olmadan, her satır aynı diziyi işaret ederdi.

challenge icon

Görev

Kolay

İki tam sayı okuyun (iki satır girdi): rows ve cols. Her hücrenin row * cols + col + 1 değerine eşit olduğu bu boyutta bir 2D dizi oluşturun (böylece ilk satır 1'den başlar ve ızgara okuma sırasına göre dolar).

Dış dizi üzerinde inspect kullanarak ızgarayı tek bir satırda yazdırın.

2 ve ardından 3 girdisi için çıktı şöyledir:

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

Kopya kağıdı

2D diziler, her iç dizinin bir satır olduğu dizilerin dizileridir:

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

Bir blok ile Array.new kullanarak varsayılan bir değerle bir ızgara oluşturun (blok, her satırın ayrı bir dizi olmasını sağlar):

grid = Array.new(3) { Array.new(4, 0) }
# 3 satır, 4 sütun, tamamı sıfır

Kendin dene

rows = gets.to_i
cols = gets.to_i

# YAPILACAK: ızgarayı oluşturun ve inspect ile yazdırın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler