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

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

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

في لغة C#، المصفوفة المتعرجة (jagged array) هي مصفوفة من المصفوفات، مما يشكل شبكة أو هيكلاً يشبه المصفوفة (matrix). إنها تشبه الجدول الذي يحتوي على صفوف وأعمدة، حيث يمكن لكل خلية أن تحتوي على قيمة. تعد المصفوفات المتعرجة مفيدة لتمثيل البيانات التي لها علاقة ثنائية الأبعاد، مثل رقعة الشطرنج، أو مخطط الجلوس، أو الألعاب القائمة على الشبكة.

إليك كيفية التصريح عن مصفوفة متعرجة (jagged array) وتهيئتها في لغة C#:

data_type[][] arrayName = new dataType[numberOfRows][];

dataType: نوع العناصر التي ستحتويها المصفوفة (على سبيل المثال، int، string، إلخ).

arrayName: الاسم الذي تطلقه على المصفوفة.

numberOfRows: عدد الصفوف في المصفوفة.

يجب بعد ذلك تهيئة كل صف بشكل منفصل:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// وهكذا...

على سبيل المثال، لإنشاء مصفوفة متعرجة من الأعداد الصحيحة تتكون من 3 صفوف، حيث يحتوي كل صف على 4 أعمدة، ستكتب ما يلي:

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

يمكنك أيضاً تهيئة مصفوفة متعرجة (jagged array) بالقيم مباشرةً:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};
challenge icon

التحدي

سهل

قم بتهيئة مصفوفة متعرجة (jagged array) بالقيم التالية:

5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6

مهمتك هي تهيئة المصفوفة المتعرجة (jagged array) بهذه القيم المحددة بشكل صحيح والتأكد من أن البرنامج يقوم بطباعة المصفوفة بشكل صحيح.

ورقة مرجعية

المصفوفة المتعرجة (Jagged array) هي مصفوفة من المصفوفات، تشكل هيكلاً يشبه المصفوفة بصفوف وأعمدة.

صيغة التصريح:

data_type[][] arrayName = new dataType[numberOfRows][];

يجب تهيئة كل صف بشكل منفصل:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];

مثال مع التهيئة المنفصلة:

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

التهيئة المباشرة بالقيم:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};

جرّب بنفسك

using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] matrix = {
            // اكتب كودك هنا
        };
        
        // طباعة المصفوفة
        int rows = matrix.Length;
        
        for (int i = 0; i < rows; i++)
        {
            int cols = matrix[i].Length;
            for (int j = 0; j < cols; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow