Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الوصول إلى عناصر المصفوفات ثنائية الأبعاد

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy. الدرس 11 من 56.

لقراءة أو تحديث cell واحدة في مصفوفة ثنائية الأبعاد، اربط عمليتي وصول باستخدام الفهرس: الأولى تختار row، والثانية تختار column.

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

puts matrix[0][0]   # 10  (أعلى اليسار)
puts matrix[1][2]   # 60  (الصف 1، العمود 2)
puts matrix[2][0]   # 70  (أسفل اليسار)

يستخدم تحديث cell الصياغة نفسها على الجانب الأيسر:

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

استعلامان مفيدان عن الشكل:

puts matrix.length         # 3 (عدد الصفوف)
puts matrix[0].length      # 3 (الأعمدة في الصف 0)

تبدأ الفهارس من 0 وتمتد حتى length - 1. يؤدي تجاوز النهاية إلى إرجاع nil بدلًا من رفع خطأ.

challenge icon

التحدي

مبتدئ

المصفوفة ثنائية الأبعاد matrix مُعطاة. اقرأ ثلاثة أعداد صحيحة (في ثلاثة أسطر): r1، ثم c1، ثم v. ثم:

  1. اطبع القيمة الموجودة في matrix[r1][c1]
  2. عيّن matrix[r1][c1] = v
  3. اطبع matrix المحدَّثة بالكامل باستخدام inspect

بالنسبة إلى الإدخال 1 / 2 / 99، يكون الناتج:

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

جرّب بنفسك

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]، عيّن v، ثم اطبع المصفوفة بأكملها
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق العمليات

تدرّب بنفسك: مترجم Ruby عبر الإنترنت