PDA

View Full Version : نقص برنامه ای که زوج یا فرد بودن یه عدد رو تعیین کنه(2) با دستور if-else



zoro0_2010
یک شنبه 24 مهر 1390, 23:42 عصر
بچه ها اینم یه دستور دیگه
اگه خط چهارم ! رو نذاریم خروجی مون چی میشه؟
و چه ایرادی پیش میاد
اینجوری: if (n%2=0)
ممنون

//
int n;
cin >> n;
if (n%2!=0)
cout<< "odd";
else
cout << "even";
//

chris66001
دوشنبه 25 مهر 1390, 09:40 صبح
اگه منظورت اينه كه كلا دستور if رو برداريم كه جوابش ميشه : ارور وجود else رو ميگيره و برنامه اجرا نميشه و زماني كه شما else رو حذف كنيد براي اجراي برنامه ، خروجيت ميشه oddeven حالا اگه منظورت يك چيز ديگه هست بگو تا كمكت كنيم.

zoro0_2010
دوشنبه 25 مهر 1390, 12:54 عصر
اگه منظورت اينه كه كلا دستور if رو برداريم كه جوابش ميشه : ارور وجود else رو ميگيره و برنامه اجرا نميشه و زماني كه شما else رو حذف كنيد براي اجراي برنامه ، خروجيت ميشه oddeven حالا اگه منظورت يك چيز ديگه هست بگو تا كمكت كنيم.

نه دستور if باشه ولی به جای != فقط = باشه
ممنون

irpersian20
دوشنبه 25 مهر 1390, 14:26 عصر
نه دستور if باشه ولی به جای != فقط = باشه
ممنون
ارور داري اون وقت.
شما ميخواهي بگي اگر باقيمانده مخالف 0 شد عدد فرد است. مخالف را با != نشان ميدهند.

chris66001
دوشنبه 25 مهر 1390, 14:27 عصر
فرقي نميكنه بازم برنامه كلا اجرا نميشه و به 2=0 ارور ميده ولي تو اون يكي مثال (اون يكي تاپيك) برنامه اجرا ميشه ولي دستور cout براي زوج ها اجرا نميشه

irpersian20
دوشنبه 25 مهر 1390, 17:08 عصر
فرقي نميكنه بازم برنامه كلا اجرا نميشه و به 2=0 ارور ميده ولي تو اون يكي مثال (اون يكي تاپيك) برنامه اجرا ميشه ولي دستور cout براي زوج ها اجرا نميشه



#include <iostream.h>
int main ()
{
int n;
cin >> n;
if (n%2!=0)
cout<< "odd";
else
cout << "even";
return 0;
}



الان برنامه بدون نقص هست.
اما اگر علامت ! را برداري خوب مسلما ارور داري و دليلش هم واضح است.
چون مثلا اگر 15 وارد كني باقيمانده تقسيمش 1 هست و شما ميخواهي 0 را بريزيس توي 1
= عملگر انصتاب محسوب ميشود

zoro0_2010
دوشنبه 25 مهر 1390, 21:14 عصر
یه چیز هست که اگه حاصل یه عبارت یا صفر باشه یا یک خود برنامه صفر رو نادرست و یک رو درست میگیره
اینم چون ما به r صفر رو انتساب کردیم صقر رو عبارت غلط بگیره؟؟؟؟؟؟؟؟میشه اینجور بگیم؟:متفکر:

FastCode
سه شنبه 26 مهر 1390, 01:18 صبح
شما باید lvalue و rvalue رو بشناسید.
توی گوگل جست و جو کنید توضیح کاملش رو پیدا میکنید.
یک سری حالت خاص هم هست که توی استاندارد جدید تعریف شدن.اونها به اینجا ربطی نداره.