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

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

جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 3 من 66.

يستخدم الوصول إلى العناصر في مصفوفة ثنائية الأبعاد بناء جملة مشابهاً للمصفوفات العادية، ولكنه يتطلب فهرسين: أحدهما للصف والآخر للعمود.

ملاحظة: في لغة C#، هناك نوعان من المصفوفات متعددة الأبعاد: المصفوفات المستطيلة (int[,]) و المصفوفات المتعرجة (int[][]). يغطي هذا الدرس المصفوفات المتعرجة، حيث يكون كل صف عبارة عن مصفوفة بحد ذاته.

أنشئ مصفوفة متعرجة (jagged array) بـ 3 صفوف و 4 أعمدة:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

تعيين قيمة لموقع محدد (فهرس الصف 1، وفهرس العمود 2):

grid[1][2] = 42;

قراءة قيمة من موضع محدد (فهرس الصف 0، فهرس العمود 3):

int value = grid[0][3];

بما أن الفهارس تبدأ من 0، فإن فهرس الصف 0 هو الصف الأول وفهرس العمود 3 هو العمود الرابع.

تذكر أن فهارس المصفوفة تبدأ من 0، لذا فإن نطاقات الفهارس الصالحة هي:

  • الصفوف: الفهرس من 0 إلى 2 (لمصفوفة مكونة من 3 صفوف — الصف الأول هو الفهرس 0، والثاني هو الفهرس 1، والثالث هو الفهرس 2)
  • الأعمدة: الفهرس من 0 إلى 3 (لمصفوفة مكونة من 4 أعمدة — العمود الأول هو الفهرس 0، والثاني هو الفهرس 1، وهكذا)
إذا حاولت الوصول إلى عنصر خارج هذه النطاقات (مثل grid[3][2])، فستحصل على IndexOutOfRangeException.
challenge icon

التحدي

متوسط

اكتب دالة تسمى getElement تأخذ ثلاث وسائط:

  1. مصفوفة صحيحة ثنائية الأبعاد (int[][] matrix)
  2. فهرس الصف (int row)
  3. فهرس العمود (int col)

يجب أن تعيد الدالة العنصر الموجود في الموقع المحدد إذا كانت الفهارس صالحة. إذا كان أي من الفهرسين خارج النطاق، يجب أن تعيد الدالة -1.

جرّب بنفسك

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // اكتب كودك هنا
    }
}
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow