المصفوفات المتعرجة (Jagged Arrays)
جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 5 من 66.
المصفوفات المتعرجة (Jagged arrays) في C# هي مصفوفات من المصفوفات، حيث يمكن أن يكون لكل مصفوفة داخلية طول مختلف.
أنشئ مصفوفة متعرجة (jagged array) بـ 3 صفوف:
int[][] jaggedArray = new int[3][];قم بتهيئة كل صف بأطوال مختلفة:
jaggedArray[0] = new int[4]; // الصف الأول يحتوي على 4 عناصر
jaggedArray[1] = new int[2]; // الصف الثاني يحتوي على عنصرين
jaggedArray[2] = new int[5]; // الصف الثالث يحتوي على 5 عناصرتعيين قيم للعناصر:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;قم بتهيئة مصفوفة متعرجة (jagged array) بالقيم:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};الحصول على عدد الصفوف:
int rows = jaggedArray.Length; // يعيد 3الحصول على طول صف معين:
int elementsInRow1 = jaggedArray[1].Length; // يعيد 2التحدي
متوسطقم بإنشاء طريقة تسمى createTriangle تقوم بما يلي:
- تأخذ عدداً صحيحاً موجباً
sizeكمعامل (parameter) - تعيد مصفوفة متعرجة (jagged array) تمثل نمط مثلث
- يجب أن يحتوي كل صف على عنصر واحد أكثر من الصف السابق
- يجب أن يكون كل عنصر مساوياً لمجموع فهرس الصف الخاص به بالإضافة إلى فهرس العمود الخاص به
على سبيل المثال، إذا كانت size = 4، يجب أن تكون المصفوفة المتعرجة كالتالي:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]ورقة مرجعية
المصفوفات المتعرجة (Jagged arrays) هي مصفوفات من المصفوفات حيث يمكن أن يكون لكل مصفوفة داخلية أطوال مختلفة.
إنشاء مصفوفة متعرجة:
int[][] jaggedArray = new int[3][];تهيئة الصفوف بأطوال مختلفة:
jaggedArray[0] = new int[4]; // الصف الأول يحتوي على 4 عناصر
jaggedArray[1] = new int[2]; // الصف الثاني يحتوي على عنصرين
jaggedArray[2] = new int[5]; // الصف الثالث يحتوي على 5 عناصرتعيين قيم للعناصر:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;التهيئة بالقيم مباشرة:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};الحصول على أبعاد المصفوفة:
int rows = jaggedArray.Length; // عدد الصفوف
int elementsInRow1 = jaggedArray[1].Length; // طول صف معينجرّب بنفسك
public class CreateTriangle
{
// قم بتنفيذ دالة CreateTriangle
public static int[][] createTriangle(int size)
{
// اكتب الكود الخاص بك هنا
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادتعريف وتهيئة المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادالمصفوفات المتعرجة (Jagged Arrays)عمليات المصفوفات الشائعةمراجعة - المصفوفات متعددة الأبعاد4تقنيات التحكم في التدفق
الإرجاع المبكرشروط الحمايةجمل القفز (goto)Break و Continueتسطيح الشروط المتداخلة7المعاملات المنطقية المتقدمة
التقييم المختصرالمعاملات المنطقية الشرطيةأولوية المعاملاتمراجعة - المعاملات المتقدمة2اتخاذ القرارات المتقدم
الشروط المتعددةالمنطق البولياني المعقدمقارنة بين If و Switchجمل Switch المتداخلةمراجعة - القرارات المتقدمة5معالجة الاستثناءات
أساسيات Try-Catchأنواع الاستثناءاتكتل Catch المتعددةالتعامل مع الملفاتكتلة FinallyUsing مقابل Try-Finallyاستثناءات مخصصةمراجعة - معالجة الأخطاء8نظام تحليل البيانات
إعداد جمع البياناتمنطق إدخال البيانات11HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمملخص - HashSet3تحسينات الحلقات التكرارية
أداء الحلقات التكراريةالتكرار عبر البيانات المعقدةأنواع الحلقات التكراريةإعادة هيكلة الحلقات التكراريةملخص - الحلقات المحسنة6التعامل مع الـ Null
أساسيات الـ Null Referenceأنواع القيم القابلة للـ Nullأنماط التحقق من الـ Nullالبرمجة الدفاعيةملخص - أمان الـ Null