PDA

View Full Version : مشکل for در eclipse



mornwk
یک شنبه 03 فروردین 1393, 01:42 صبح
با سلام خدمت دوستانمن تو اکلیپس کار C++‎‎‎‎‎ می نویسم البته کم تجربه هستم. وقتی کد زیر رو برای for مینویسم در حالی که من 10 بار میخوام 3 رو تو خروجی نمایش بده ولی بینهایت بار اجرا میشه. مشکل از کجاس؟


int main() {
int i ;
for (i=1 ; i=10; i++ ){
cout << "3" << "\n";
}

rahnema1
یک شنبه 03 فروردین 1393, 06:52 صبح
سلام
بهتره بیاییم عملکرد for را تحلیل کنیم
در جلو کلمه for توی پرانتز 3 قسمت قرار داره:
-در قسمت اول به i مقدار اولیه می دهیم
- قسمت دوم برای اینه که یک شرط بذاریم که اگه اون شرط اجرا بشه حلقه خاتمه پیدا کنه. منظورم از شرط، یعنی عبارتی که در صورتی که براورده نشه جواب صفر یا false و اگه براورده بشه جواب یک یا true بده
- قسمت سوم هم معمولا برای اینه که مقدار شمارنده تغییر داده بشه تا نهایتا شمارنده به اون شرطی که اعلام کردیم برسه

قسمت اول که اشکال نداره یعنی شما یک مقدار اولیه مثل یک را به شمارنده داده اید
قسمت سوم هم یک را به شمارنده اضافه می کنه
می مونه قسمت دوم یا شرط که همیشه جواب 10 را میده و هیچ وقت صفر نمیشه که موجب قطع حلقه بشه ( بی نهایت)
یک کمی بررسی بیشتر مقدار i:
1. ابتدا i برابر 1 میشه
2. سپس شرط ما چک میشه که در اونجا i برابر 10 میشه یعنی عبارت i=10 همیشه جواب 10 میده
3. وارد حلقه می شویم و حلقه اجرا میشه و عدد 3 چاپ میشه در انتهای حلقه هم یک را به i اضافه می کنیم یعنی i برابر 11 میشه
و.... حلقه ادامه پیدا میکنه

نتیجه: شما بایستی در قسمت شرط یک عبارت بذارید که مثلا بعد از 10 بار تکرار ، جواب صفر بده
راهنمایی : می تونید مثلا از یکی از عملگرهای > < == استفاده کنید