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

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

جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 48 من 74.

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

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

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

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// سيقوم هذا بطباعة:
// 0 0
// 0 1
// 1 0
// 1 1

تعمل الحلقة الخارجية (x) مرتين، وفي كل مرة من تلك المرات، تعمل الحلقة الداخلية (y) مرتين.

challenge icon

التحدي

مبتدئ

اكتب برنامجاً يجد جميع أزواج الأرقام التي مجموعها يساوي n باستخدام أرقام من 1 إلى n - 1.
يجب أن يعرض البرنامج جميع التوليفات الممكنة، بما في ذلك الأزواج المكررة بترتيب عكسي. على سبيل المثال، يجب عرض كل من "1 5" و "5 1"، حيث يتم اعتبارهما ترتيبين مختلفين لنفس الزوج. يمكن أيضاً إقران الأرقام مع نفسها إذا كان مجموعها يساوي n.

على سبيل المثال إذا كان n = 6، يجب أن يكون المخرج:

1 5
2 4
3 3
4 2
5 1

لأن:

1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6

ورقة مرجعية

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

هيكل الحلقة المتداخلة الأساسي:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// المخرجات:
// 0 0
// 0 1
// 1 0
// 1 1

تعمل الحلقة الخارجية بالكامل، ومع كل تكرار للحلقة الخارجية، تمر الحلقة الداخلية عبر جميع تكراراتها.

جرّب بنفسك

#include <iostream>

int main() {
    int n;
    std::cin >> n;
    // اكتب الكود الخاص بك أدناه

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

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

جميع دروس Fundamentals