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

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

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

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

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  (أسفل اليسار)

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

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 عبر الإنترنت