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

الحلقات المتداخلة مع المصفوفات ثنائية الأبعاد

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

عند العمل مع المصفوفات ثنائية الأبعاد (jagged arrays) في لغة C#، غالبًا ما نستخدم الحلقات المتداخلة (nested loops) للتكرار عبر كل صف وكل عمود، مما يسمح لنا بالوصول إلى كل عنصر في المصفوفة أو تعديله.

إليك هيكل نموذجي للحلقات المتداخلة لمصفوفة ثنائية الأبعاد في C#:

for (int i = 0; i < array.Length; i++) {
    // الحلقة الخارجية تمر عبر الصفوف
    for (int j = 0; j < array[i].Length; j++) {
        // الحلقة الداخلية تمر عبر الأعمدة
        // الوصول إلى array[i][j] أو تعديله
    }
}

تتكرر الحلقة الخارجية عبر الصفوف، وتتكرر الحلقة الداخلية عبر أعمدة كل صف. بهذه الطريقة، يمكنك الوصول إلى كل عنصر في المصفوفة ثنائية الأبعاد باستخدام array[i][j].

challenge icon

التحدي

سهل
أنشئ دالة باسم printMatrix تأخذ مصفوفة ثنائية الأبعاد (jagged array) من الأعداد الصحيحة كمعامل (argument) وتقوم بطباعة عناصرها بتنسيق مصفوفة. استخدم حلقات متداخلة (nested loops) للمرور عبر صفوف وأعمدة المصفوفة.

اطبع كل عنصر متبوعاً بمسافة (بما في ذلك العنصر الأخير في كل صف)، ثم اطبع سطراً جديداً بعد كل صف. على سبيل المثال، بالنسبة للصف [1, 2, 3]، يجب أن يكون المخرج 1 2 3 (مع مسافة زائدة في النهاية)، متبوعاً بسطر جديد.

ورقة مرجعية

استخدم الحلقات المتداخلة للتكرار عبر المصفوفات ثنائية الأبعاد (المصفوفات المتعرجة - jagged arrays) في لغة C#:

for (int i = 0; i < array.Length; i++) {
    // الحلقة الخارجية تمر عبر الصفوف
    for (int j = 0; j < array[i].Length; j++) {
        // الحلقة الداخلية تمر عبر الأعمدة
        // الوصول إلى array[i][j] أو تعديله
    }
}

تمر الحلقة الخارجية عبر الصفوف باستخدام array.Length، وتمر الحلقة الداخلية عبر الأعمدة باستخدام array[i].Length. قم بالوصول إلى العناصر باستخدام array[i][j].

جرّب بنفسك

// اكتب كودك فقط داخل الفئة (class). لا تكتب Main() أو أي كود خارج هذه الفئة.
using System;

class PrintMatrix 
{
    public static void printMatrix(int[][] matrix) 
    {
        // اكتب كودك هنا
    }
}
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow