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

الحلقات المتداخلة

جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 46 من 69.

الحلقة المتداخلة هي ببساطة حلقة داخل حلقة أخرى. ستكمل الحلقة الداخلية جميع تكراراتها لكل تكرار واحد للحلقة الخارجية.

التشبيه الجيد لهذا هو الساعة: فلكل ساعة (الحلقة الخارجية)، يجب على عقرب الدقائق (الحلقة الداخلية) إكمال دورته الكاملة المكونة من 60 دقيقة.

مثال على حلقة متداخلة:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		Console.WriteLine(x + " " + y);
	}
}

// سيقوم هذا بطباعة:
// 0 0
// 0 1
// 1 0
// 1 1

تعمل الحلقة الخارجية (x) مرتين، وفي كل مرة من تلك المرات، تعمل الحلقة الداخلية (y) مرتين — مما يعني أن جسم الحلقة الداخلية يُنفذ إجمالاً 4 مرات.

قد تحتاج أيضًا إلى Console.Write() عند العمل مع الحلقات المتداخلة. على عكس Console.WriteLine()، التي تطبع النص وتنتقل إلى سطر جديد، تقوم Console.Write() بطباعة النص دون إضافة سطر جديد في النهاية. يتيح لك ذلك بناء المخرجات على نفس السطر:

for (int y = 0; y < 4; y++) {
	Console.Write("* ");
}
Console.WriteLine();

// سيقوم هذا بإخراج:
// * * * * 

هنا، Console.Write() يستمر في الطباعة على نفس السطر، و Console.WriteLine() في النهاية ينتقل إلى السطر التالي.

challenge icon

التحدي

مبتدئ

اكتب برنامجاً يقوم بطباعة مستطيل من النجوم (*) بعرض وارتفاع محددين.

المدخلات: عددان صحيحان: width و height

على سبيل المثال:

إذا كان width = 5 و height = 3، يجب أن تكون المخرجات:

*****
*****
*****

إذا كان width = 4 و height = 6، يجب أن تكون المخرجات:

****
****
****
****
****
****

جرّب بنفسك

using System;

public class Program {
    public static void Main(string[] args) {
        int width = int.Parse(Console.ReadLine());
        int height = int.Parse(Console.ReadLine());
        // اكتب الكود الخاص بك أدناه

    }
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals