Menu
CoddyTech

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

جزء من قسم الأساسيات في رحلة 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 كما هما، ولا تخبران الحلقتين إلا متى تتوقفان.

challenge icon

التحدي

مبتدئ

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

الإدخال: عددان صحيحان: 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;
}
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

تدرّب بنفسك: مترجم C++ عبر الإنترنت