حلقه for
آشنایی با حلقه for در C++ برای تکرار کد با تعداد مشخص
حلقه for
حلقه for برای تکرار کد با تعداد مشخص استفاده میشود و ساختار منظمتری نسبت به while دارد.
ساختار for
for (initialization; condition; increment) {
// کدی که تکرار میشود
}
بخشهای حلقه for
- initialization: مقداردهی اولیه (یک بار اجرا میشود)
- condition: شرط تکرار (قبل از هر دور بررسی میشود)
- increment: بهروزرسانی (بعد از هر دور اجرا میشود)
مثال پایه
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
// خروجی: 1 2 3 4 5
حلقه for معادل while
// با for
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
// معادل با while
int i = 1;
while (i <= 5) {
cout << i << " ";
i++;
}
انواع مختلف حلقه for
حلقه for با شمارش معکوس
for (int i = 5; i >= 1; i--) {
cout << i << " ";
}
// خروجی: 5 4 3 2 1
حلقه for با گام 2
for (int i = 0; i <= 10; i += 2) {
cout << i << " ";
}
// خروجی: 0 2 4 6 8 10
حلقه for با چندین متغیر
for (int i = 0, j = 10; i < j; i++, j--) {
cout << "i=" << i << ", j=" << j << endl;
}
حلقه for تو در تو (Nested for)
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
cout << i << " * " << j << " = " << (i * j) << endl;
}
cout << "---" << endl;
}
حلقه for بینهایت
for (;;) {
// کدی که همیشه تکرار میشود
// باید با break خارج شوید
}
حلقه for مبتنی بر محدوده (Range-based for)
از C++11 به بعد
int arr[] = {1, 2, 3, 4, 5};
for (int x : arr) {
cout << x << " ";
}
// خروجی: 1 2 3 4 5
مثالهای کاربردی
مثال 1: جدول ضرب
for (int i = 1; i <= 10; i++) {
cout << "5 * " << i << " = " << (5 * i) << endl;
}
مثال 2: مجموع اعداد
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
cout << "مجموع: " << sum;
مثال 3: چاپ ستاره
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
cout << "* ";
}
cout << endl;
}
بهترین شیوهها
- از for برای تعداد مشخص تکرار استفاده کنید
- نام متغیر شمارنده معنادار انتخاب کنید
- از حلقههای تو در تو با دقت استفاده کنید
- از range-based for برای پیمایش آرایهها استفاده کنید
نکات مهم
- شرط باید در نهایت false شود
- میتوانید هر بخش از for را خالی بگذارید
- حلقههای تو در تو پیچیدگی O(n²) دارند
- از break و continue برای کنترل حلقه استفاده کنید
این مبحث بخشی از دوره آموزش کامل C++ است.