واضح آرشیو وب فارسی:سایت ریسک: ehsaaaan12-01-2010, 05:27 PMسلام دوستان. کد زیر برنامه ای هستش که اعداد مضرب 3 مابین 100 تا 200 را داخل آرایه قرار می دهد و آن ها را از آخر چاپ می کند !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! میخواستم بدونم چرا در خط زیر j منهای یک شده؟دیدم وقتی j منهای یک نشه تو خروجی غیر از اعداد مابین 100 تا 200 که مضرب 3 هستن یک عدد چرت و پرت که اصلا معلوم نیست از کجا اومده هم نشون داده میشه. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! Arman_BM12-01-2010, 05:46 PMبه به سلام آقا احسان کم اینجا سر میزنی ها. بیشتر بیا دلیلش اینه که در قسمت زیر: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! J++ رو بعد از array[j]= i نوشته اولین عدد مضرب 3 رو تو اولین خونه ی آرایه (یعنی j=0) میزاره و سپس j=1 میشه.. همینطور که پیش میره آخرین مضرب 3 رو تو آرایه میزاره و j++ میشه یعنی الان شماره ی j یکی بیشتر از شماره ی آخرین خونه ی پر شده ی آرایه هست. بنا بر این زمان چاپ کردن باید یکی از j کم کنیم. نکته اینکه در زبان c وقتی متغیر آرایه ای رو تعریف میکنیم، خود به خود اعدادی درون خانه های آرایه وجود خواهند داشت که این اعداد لزوما صفر نیستند. آن عدد بیربطی هم که چاپ کرده دلیلش همین بوده. البته نکته ی بالا در مورد متغیر های عمومی صادق نیست. وقتی متغیری رو خارج از main تعریف کنید، مقدار اولیه اش صفر خواهد بود. موفق و شادمان باشید یا حقیقت هستی. ehsaaaan12-01-2010, 06:03 PMچرا سر میزنم آرمان جون:40: و اتفاقا پست های شما رو هم تو این انجمن خوندم ولی چشم بیشتر سر میزنم:10: توضیحت خیلی عالی بود.:20: قشنگ گرفتم چی شد.:11: دستت درد نکنه:10: p d12-01-2010, 06:30 PMخود به خود اعدادی درون خانه های آرایه وجود خواهند داشت که این اعداد لزوما صفر نیستند. هميشه عدد نيست , ميتونه نول يا كاراكتر هم باشه. ولي چون ارايه int هست , كاراكتر ها تبديل به عدد ميشن, ولي نول , نول ميمونه؟ Arman_BM12-01-2010, 07:36 PMهميشه عدد نيست , ميتونه نول يا كاراكتر هم باشه. ولي چون ارايه int هست , كاراكتر ها تبديل به عدد ميشن, ولي نول , نول ميمونه؟ بنظرم null هم کد اسکی داره دیگه. p d12-01-2010, 08:34 PMبنظرم null هم کد اسکی داره دیگه. به نظر من هم تبديل ميشه . كسي نميدونه تبديل ميشه يا نه ؟ اگه ميشه به چي ؟ sin2x=2sinxcosx12-01-2010, 09:22 PMیعنی چی ؟ من نگرفتم . اگه یه کاراکتر رو تو یه int ذخیره کنیم کد اسکیش ذخیره میشه . مشکل چیه ؟ p d12-01-2010, 09:23 PMمشکل چیه ؟ كد اسكي نول چي هست ؟ اصلا كد اسكي داره ؟ sin2x=2sinxcosx12-01-2010, 09:28 PMبله که داره . صفر هست . sayide12-01-2010, 09:30 PMتا جايي كه من امتحان كردم براي كد اسكي نول، صفر قرار مي گيره. CppBuilder200613-01-2010, 07:38 PMیه چیزی که اساتید محترم C نمیگن اینه که در این زبان اصلا چیزی به اسم کاراکتر، نول و .. نداریم. فقط عدد داریم. کاراکتر یه عدد یه بایتیه. این که این عدد چه شکلی چاپ میشه مربوط به cout ته. به جای char در کامپایلرهای جدید میشه نوشت int8__ نول هم همون صفره. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! hoax3r13-01-2010, 09:01 PMبه جای char در کامپایلرهای جدید میشه نوشت int8__ البته در استفاده از int8__ باید اینو در نظر گرفت که این یه نوع استاندارد نیست، اگر اشتباه نکنم این داده مخصوص کامپایلر های ماکروسافت هم هست p d13-01-2010, 09:18 PM. این که این عدد چه شکلی چاپ میشه مربوط به cout ته. [ متوجه نيمشم يعني شما ميگيد كه تويه حافظه (قبل از اين كه خروجي بده) داخل ارايه char هيچ كاراكتري نيست واگر بشه حافظه رو ديد فقط عدد ميبينيم و هنگام چاپ شدن تبديل به كاراكتر ميشه ؟ CppBuilder200613-01-2010, 09:44 PMالبته در استفاده از int8__ باید اینو در نظر گرفت که این یه نوع استاندارد نیست، اگر اشتباه نکنم این داده مخصوص کامپایلر های ماکروسافت هم هست یه اسم دیگه برای char ره همین. devc و C++Builder هم میشناسنش. متوجه نيمشم يعني شما ميگيد كه تويه حافظه (قبل از اين كه خروجي بده) داخل ارايه char هيچ كاراكتري نيست واگر بشه حافظه رو ديد فقط عدد ميبينيم و هنگام چاپ شدن تبديل به كاراكتر ميشه ؟ cout میبینه نوع متغیر با مقدار 97 چیه، اگه int باشه، 97 چاپ میکنه اگه char باشه a. فکر میکنم توی اون pdf توی وبلاگ خیلی بیش تر توضیح داده باشم.. من رفتم تا یه ماه دیگه پیدام نمیشه!:46:یه ملتی توی فروما مختلف از دسسم راحت میشن!:31: p d14-01-2010, 11:22 AMcout میبینه نوع متغیر با مقدار 97 چیه، اگه int باشه، 97 چاپ میکنه اگه char باشه a. خروجي اخرين filter(فارسي ميزدم نشون نميداد:31:) براي نمايش هست, اين درست. فرض كنيد داريم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! تويه متغير b مقدارش يعني a قرار ميگيره نه عدد. حالا اگه بگيم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! عدد 97 چاپ ميشه. ولي تويه حافظه a بود, نه عدد. اينطور كه شما ميگيد, يعني تويه حافظه فقط عدد هست. ---- تويه ارايه هم مثل همينه, عكس زير watch از دو ارايه يكي int و يكي char هست كه هنوز مقدار دهي نشدن. نگاه كنيد تويه حافظه char , فقط عدد نيست, و ربطي به خروجي نداره. اين اعداد, در int همون هايي هستن كه باعث شدن محاسباته اقا احسان غلط بشن. http://pddotsh.persiangig.com/ww.jpeg سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 405]