الحلقات المتداخلة
جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 48 من 74.
الحلقة المتداخلة هي ببساطة حلقة داخل حلقة أخرى. ستُكمل الحلقة الداخلية جميع تكراراتها مع كل تكرار واحد للحلقة الخارجية.
تشبيه جيد لذلك هو الساعة: في كل ساعة (الحلقة الخارجية)، يجب أن يُكمل عقرب الدقائق (الحلقة الداخلية) دورته الكاملة التي تستغرق 60 دقيقة.
مثال على حلقة متداخلة:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
std::cout << x << " " << y << std::endl;
}
}
// سيكون الناتج:
// 0 0
// 0 1
// 1 0
// 1 1تتكرر الحلقة الخارجية (x) عدد rows من المرات، وفي كل مرة منها، تتكرر الحلقة الداخلية (y) عدد cols من المرات. لكل حلقة عدّادها الخاص: تبدأ y من جديد من 0 في كل مرة تتكرر فيها الحلقة الخارجية، بينما تظل rows وcols كما هما، ولا تخبران الحلقتين إلا متى تتوقفان.
التحدي
مبتدئاكتب برنامجًا يطبع مستطيلًا من العلامات النجمية (*) بعرض وارتفاع محددين.
الإدخال: عددان صحيحان: width وheight (تقرأهما الشيفرة الابتدائية بالفعل).
على سبيل المثال:
إذا كان width = 5 وheight = 3، فيجب أن يكون الناتج:
*****
*****
*****إذا كان width = 4 وheight = 6، فيجب أن يكون الناتج:
****
****
****
****
****
****استخدم عدّادًا جديدًا لكل حلقة (على سبيل المثال i للصفوف وj للعلامات النجمية في الصف) وقارنه بـ height أو width. لا تغيّر height وwidth نفسيهما: يحتاج كل صف إلى width من جديد.
جرّب بنفسك
#include <iostream>
int main() {
int width, height;
std::cin >> width >> height;
// اكتب الكود الخاص بك أدناه
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوصتدرّب بنفسك: مترجم C++ عبر الإنترنت