الحلقات المتداخلة
جزء من قسم الأساسيات في رحلة C على Coddy. الدرس 43 من 63.
الحلقات المتداخلة هي حلقات توضع داخل حلقة أخرى. في كل تكرار للحلقة الخارجية، تُنفَّذ الحلقة الداخلية بالكامل.
أنشئ حلقة خارجية تتكرر 3 مرات:
for (int i = 0; i < 2; i++) {
// كود الحلقة الخارجية هنا
}أضف حلقة داخلية تتكرر 3 مرات في كل تكرار للحلقة الخارجية:
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}سيكون الناتج:
0,0 0,1 0,2
1,0 1,1 1,2 لاحظ كيف تُكمل الحلقة الداخلية تكراراتها قبل أن تنتقل الحلقة الخارجية إلى تكرارها التالي. لكل حلقة عدّادها الخاص: يبدأ j من جديد من 0 في كل مرة تعمل فيها الحلقة الخارجية، بينما تظل rows وcols كما هما، ولا تخبران الحلقتين إلا بموعد التوقف.
التحدي
سهلأنشئ برنامجًا يطبع نمطًا مستطيلًا من النجوم (*) بناءً على عدد الصفوف والأعمدة الذي يقدمه المستخدم.
ينبغي أن يقوم برنامجك بما يلي:
- قراءة عددين صحيحين من المستخدم: الصفوف والأعمدة.
- استخدام حلقات متداخلة لطباعة نمط مستطيل من النجوم، بحيث تتعامل الحلقة الخارجية مع الصفوف والحلقة الداخلية مع الأعمدة.
- طباعة سطر جديد بعد كل صف.
على سبيل المثال، إذا كان الإدخال 3 صفوف و4 أعمدة، فينبغي أن يكون الناتج:
****
****
****استخدم عدّادًا جديدًا لكل حلقة (على سبيل المثال، i للصفوف وj للنجوم في الصف) وقارنه بـ rows أو columns. لا تغيّر rows وcolumns نفسيهما: يحتاج كل صف إلى columns من جديد.
جرّب بنفسك
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// اكتب الكود هنا لطباعة النمط
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات
أنواع البياناتالأعداد الصحيحة (Integer)الأعداد العشرية (Float - Double)المحارف (Characters)القيم المنطقية (Booleans)الثوابتأساسيات printfقواعد تسمية المتغيراتتحويل الأنواع (Type Casting) - الجزء 1تحويل الأنواع (Type Casting) - الجزء 2تحدي المراجعة3المعاملات
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانمعاملات الإسنادالمعاملات العلائقيةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيالمعاملات المنطقية - الجزء الثالثتحدي المراجعة6الحلقات التكرارية
حلقة Forحلقة Whileحلقة Do WhileBreakContinueتحدي المراجعة #1الحلقات المتداخلةالحلقات اللانهائيةتحدي المراجعة #2تدرّب بنفسك: مترجم C عبر الإنترنت