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];
// وهكذا...

على سبيل المثال، لإنشاء مصفوفة متعرجة (jagged array) من الأعداد الصحيحة تتكون من 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}
};

ملاحظة: تستخدم هذه المنصة مترجمًا (compiler) لإصدار أقدم من C# 12. إن بناء جملة تعبيرات المجموعة الأقصر (collection expression syntax) الذي تم تقديمه في C# 12 (على سبيل المثال، int[][] matrix = [[1, 2], [3, 4]];) غير مدعوم هنا. يرجى استخدام بناء جملة التهيئة التقليدي new int[][] { ... } الموضح أعلاه.

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

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

ملاحظة: تستخدم هذه المنصة مترجمًا أقدم من C# 12. بناء جملة تعبيرات المجموعة في C# 12 (مثل int[][] matrix = [[1, 2], [3, 4]];) غير مدعوم. استخدم بناء جملة التهيئة التقليدي بدلاً من ذلك:
int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };

جرّب بنفسك

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