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

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

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

الحلقات المتداخلة (Nested loops) هي حلقات توضع داخل حلقة أخرى. لكل تكرار للحلقة الخارجية، يتم تنفيذ الحلقة الداخلية بالكامل.

أنشئ حلقة خارجية تعمل 3 مرات:

for (int i = 0; i < 3; i++) {
    // كود الحلقة الخارجية هنا
}

أضف حلقة تكرار داخلية تعمل مرتين لكل تكرار من الحلقة الخارجية:

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

سيكون الناتج:

0,0 0,1 0,2 
1,0 1,1 1,2 

لاحظ كيف تُكمل الحلقة الداخلية تكراراتها قبل أن تنتقل الحلقة الخارجية إلى تكرارها التالي.

challenge icon

التحدي

سهل

أنشئ برنامجاً يطبع نمط مستطيل من النجوم (*) بناءً على عدد الصفوف والأعمدة التي يدخلها المستخدم.

يجب أن يقوم برنامجك بما يلي:

  1. قراءة عددين صحيحين من المستخدم: rows و columns.
  2. استخدام حلقات متداخلة لطباعة نمط مستطيل من النجوم حيث تتعامل الحلقة الخارجية مع الصفوف (rows) والحلقة الداخلية مع الأعمدة (columns).
  3. طباعة سطر جديد بعد كل صف.

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

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

ورقة مرجعية

الحلقات المتداخلة هي حلقات توضع داخل حلقة أخرى. لكل تكرار في الحلقة الخارجية، يتم تنفيذ الحلقة الداخلية بالكامل.

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

for (int i = 0; i < outer_limit; i++) {
    for (int j = 0; j < inner_limit; j++) {
        // كود الحلقة الداخلية
    }
    // كود الحلقة الخارجية
}

مثال مع المخرجات:

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

المخرجات:

0,0 0,1 0,2 
1,0 1,1 1,2

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

جرّب بنفسك

#include <stdio.h>

int main() {
    int rows, columns;
    scanf("%d", &rows);
    scanf("%d", &columns);
    
    // اكتب كودك هنا لطباعة النمط
    
    return 0;
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals