![]() |
|
|||||||
| C کلیه مباحث و موضوعات در مورد این زبان برنامه نویسی ... C , C++ , C# , Visual C |
![]() |
|
|
اختيارات تاپيک | نمايش رسم |
|
|
#1 |
|
در آغاز فعالیت
![]() تاريخ عضويت: May 2007
پست ها: 7
|
سلام
من امسال تازه وارد رشته نرم افزار شدم . دو سالي بود كه phpكار مي كردم اولش برنامه نويسي تحت كلاينت يكم به نظرم سخت مي اومد ولي ديدم كه خيلي راحت هست ! بيخيال امروز طبق نمونه سوالاتي كه استادمون داده بود تمرين كنيم رسيدم به تابع فاكتوريل . قبلا نمونه اون رو با جاوا اسريپت نوشته بودم پس با همون الگوريتم اين كد رو نوشتم : کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید رفتم جلوتر و رسيدم به يه برنامه براي جايگشت r شئ از n شئ .همي اين كد را نوشتم : کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید مثل عادت قبلي برنامه رو تكه تكه كردم و اجرا كردم ديدم خروجي خروجي فكتوريل 10 رو داده 24320 درست بود! داشتم ديوونه مي شدم كه بردم تابع رو تو حلقه ببينم چه مرگشه . اين كدم بود : کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید خروجي فاكتوريل 8 و 9 و 12 و 13 منفي بود!!! در هر صورت من هر كاري كردم حتي تابع رو از حالت بازگشتي به حالت حلقه اي تبديل كردم ولي بازم افاقه اي نكرد . مي دونم ممكن يه سوتي داده باشم گنده ! ولي واقعا يه بزرگواري ژيدا مي شه ما رو از اين سردرگمي دربياره ؟ ممنون پيشاپيش ! سرافراز باشيد |
|
|
|
| تبلیغــــات | |
Advertisement |
|
|
|
#2 |
|
عضو جديد
![]() تاريخ عضويت: Oct 2009
پست ها: 3
|
با سلام دوست عزیز شما الگوریتم برامتون مشکلی نداره اما به نکته در کامپیوتر هیچ وقت توجه نداشته اید
در برنامه نویسی داده های شما در متغییر هایی ذخیره میشوند این متعیرها ظرفیت محدودی دارند در مثال شما همانطور که در کدتان دیدم متغیر اصلی شما که خروچی تابعتون هست در یک متغیر int که دوبایتی از نوع علامتدار است ذخیره میشود با توجه به این نوع انتخابی شما حداکثر 32767 را میتوانید در آن ذخیره کنید (1-15^2) بنابراین فاکتوریل 8 که عددی حدود 40000 میشود در این متغیر جا نمیشود و باعث سرریز میشود و نتیجه منفی کاملا طبیعی است برای رفع این مشکل باید بجای نوع int از longint استفاده کنید البته این هم بدین معنی نیست که تا بینهایت میتونید فاکتوریل بگیرید امیدوارم مشکلتون را حل کرده باشم موفق باشید |
|
|
|
|
|
#3 |
|
داره خودمونی میشه
![]() تاريخ عضويت: Sep 2008
محل سكونت: ماشین زمان خودم!
پست ها: 177
|
سلام
compiler شما بسیار قدیمی است. به جای int از long استفاده کنید. |
|
|
|
|
|
#4 |
|
در آغاز فعالیت
![]() تاريخ عضويت: May 2007
پست ها: 7
|
من turbo c++ نسخه 4.5 رو نصب كردم .
يعني مشكل از اونجاست ؟ |
|
|
|
|
|
#5 |
|
در آغاز فعالیت
![]() تاريخ عضويت: May 2007
پست ها: 7
|
من turbo c++ نسخه 4.5 رو نصب كردم .
يعني مشكل از اونجاست ؟ |
|
|
|
|
|
#6 |
|
در آغاز فعالیت
![]() تاريخ عضويت: Apr 2007
پست ها: 1
|
بجای "Turbo C++" از "Borland C++" (بورلند سی پلاس پلاس) استفاده کنید .
|
|
|
|
|
|
#7 |
|
داره خودمونی میشه
![]() تاريخ عضويت: Sep 2008
محل سكونت: ماشین زمان خودم!
پست ها: 177
|
|
|
|
|
| تبلیغــــات | |
Advertisement |
|
![]() |
| کاربراني که اين گفتگو را مشاهده ميکنند: 1 (0 کاربران و 1 مهمان) | |
| اختيارات تاپيک | |
| نمايش رسم | |
|
|
دانلود نرم افزار خرید اینترنتی از فروشگاه آنلاین سفارش تبلیغات تماس با مدیریت وب سایت