Menu
CoddyTech

Menelusuri Array 2D

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 12 dari 56.

Untuk mengunjungi setiap sel dalam array 2D, kamu menyusun dua perulangan di dalam satu sama lain. Perulangan luar menelusuri baris, sedangkan perulangan dalam menelusuri kolom pada baris tersebut.

Pola Ruby yang paling idiomatis menggunakan each dua kali:

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

grid.each do |row|
  row.each do |cell|
    puts cell
  end
end
# 1, 2, 3, 4, 5, 6  (masing-masing pada baris terpisah)

Jika kamu juga memerlukan indeks baris dan kolom, misalnya untuk memberi label pada setiap sel, gunakan each_with_index pada kedua tingkat:

grid.each_with_index do |row, r|
  row.each_with_index do |cell, c|
    puts "(#{r},#{c}) = #{cell}"
  end
end

Gaya ini lebih singkat dan aman daripada melacak indeks secara manual, sehingga tidak ada risiko melewati akhir baris.

challenge icon

Tantangan

Mudah

array 2D grid diberikan (3 baris × 3 kolom berisi bilangan bulat).

Untuk setiap baris, cari semua sel yang nilainya benar-benar lebih besar daripada rata-rata baris tersebut. Cetak setiap sel tersebut pada barisnya sendiri dengan format:

(r,c) = value

Gunakan each_with_index bertingkat. Hitung rata-rata di dalam perulangan luar agar ambang batas setiap baris tidak bergantung pada baris lainnya.

Untuk grid default, sel yang nilainya lebih besar daripada rata-rata barisnya adalah:

(0,1) = 8
(1,2) = 9
(2,0) = 6
(2,1) = 7

Coba sendiri

grid = [
  [1, 8, 3],
  [4, 5, 9],
  [6, 7, 2]
]

# TODO: gunakan each_with_index bersarang, cetak sel yang nilainya > rata-rata barisnya
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online