حلقه های تو در تو (Nested Loops)
گاهی داخل یک حلقه، دوباره یک حلقه می نویسیم. به این می گویند «حلقه تو در تو (Nested Loop)». مثل کلاس ها و صندلی ها؛ هر کلاس چند ردیف دارد و هر ردیف چند صندلی.
تعریف ساده حلقه تو در تو
حلقه «داخلی» برای هر بار اجرای حلقه «بیرونی» کامل اجرا می شود.
نمونه پایه
int i;
int j;
/* Outer loop */
for (i = 1; i <= 2; ++i) {
printf("Outer: %d\n", i);
/* Inner loop */
for (j = 1; j <= 3; ++j) {
printf(" Inner: %d\n", j);
}
}
جدول ضرب ساده با حلقه های تو در تو
در این مثال، ضرب 1 تا 3 را به شکل جدول چاپ می کنیم.
int i;
int j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d ", i * j);
}
printf("\n");
}
کاربردها
برای چاپ جدول ها، کار با ماتریس ها، یا داده های چندبعدی مناسب است. بخش آرایه های چندبعدی را هم ببین.
گام های عملی
- حلقه بیرونی را با بازه درست بنویس.
- حلقه داخلی را داخل بدنه قرار بده.
- پس از هر ردیف، خروجی را مرتب کن.
نکته: در چاپ جدول ها، بعد از حلقه داخلی یک \n چاپ کن تا خطوط مرتب شوند.
برای مرور حلقه ها، صفحه حلقه for و مثال های واقعی for را ببین. برای ادامه کار با جدول ها، به آرایه های چندبعدی برو.
جمع بندی سریع
- حلقه داخلی برای هر بیرونی اجرا می شود.
- بازه ها را کوچک و واضح تعیین کن.
- خروجی هر ردیف را جدا کن.
- از شمارنده های متفاوت استفاده کن.