تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 12

نام تاپيک: مجموع ارقام را بدرستی حساب نمیکنه (سی پلاس)!

  1. #1
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    14 مجموع ارقام را بدرستی حساب نمیکنه (سی پلاس)!

    سلام

    برنامه زیر قرار است یک شماره دانشجویی از کاربر بگیره و مجموع ارقامش را حساب کند و آن مجموع را به صورت زیر در خروجی چاپ کند :

    دو تا مشکل دارم !
    1- اینکه اگه مثلا این شماره دانشجویی را بهش بدم 8851011041 ، با اینکه مجموعش میشه 29 اون به اندازه 39 چاپ میکنه ! و تصورم اینه که اگه بین اعداد ورودی صفر باشه براش این مشکل ایجاد میشه .
    خوب ببخشید دیگه سوالم خیلی ابتدایی است !


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    2- دوم اینکه اگه من این الگوریتم را از ابتدایی که ورودی را تحویل میگره داخل یه While قرار بدم برنامه اجرا میشه اما درست کار نمی کنه ! نمی دونم چرا

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  2. #2
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    14 برنامه دوم

    برنامه دوم یه number در cin جاانداخته ام
    درستش اینه


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. #3
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    2 یعنی اینجا کسی سی پلاس بلد نیست !!!

    با دمتون گرم 21 نفر فقط میان نگاه میکنند و میرند ...

    کارم گیره

  4. #4
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    14 خروجی برنامه

    شرمنده شکل خروجی را فراموش کردم بگذارم !



    1
    2 1
    3 2 1
    4 3 2 1
    5 4 3 2 1
    4 3 2 1
    3 2 1
    2 1
    1

    شرمنده یکم گنگه ..!
    این شکل کلیه است و عمومیت نداره . میتونه تا 4 تکرار بشه و دوباره معکوس تا 1 بیاد خلاصه اینکه قراره یک لوزی تولید کنه !
    حالا مشکل اصلی من اینه است که اگه داخل شماره دانشجویی صفر باشد درست اجرا نمیکنه . منظورم اینه که مثلا اگه عدد 8512016438 را وارد کنم خروجی درستی نمیده اما اگه همون عدد را بدون صفر بزنم به اینصورت 851216438 که در هر دو حالت مجموع میشه 38 ، اینبار خروجی درست است !

    فکر کنم بشه نتیجه گرفت که مشکل از این قسمت کد باشه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    حالا این را حل کنید تا بریم سراغ مشکل دوم !!!!!!!

  5. #5
    داره خودمونی میشه jaho's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    InFuTuRe
    پست ها
    141

    پيش فرض

    سلام
    ببخشید این سوالی که شما پرسیدی اصلا مفهوم نیست .
    قراره یه عددی از ورودی بگیره مجموع ارقامش رو نشون بده یا ارقامش رو به شکل لوزی نشون بده؟

  6. #6
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض


    فکر کنم بشه نتیجه گرفت که مشکل از این قسمت کد باشه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نه به خاطر اين نيست.
    وقتي عدد 8851011041 رو وارد ميكني اين مقدار بايد تويه number قرار بگيره ولي نميگيره !!!!!!
    چرا رو دقيقا نميدونم . هر چي هست بر ميگرده به تعريف متغيير number. كه int تعريف كرديد.
    شايد overflow ميشه ولي دقيقا نميدونم.
    اين رو ببين
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by p d; 05-01-2010 at 14:44.

  7. 2 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  8. #7
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    14

    نه به خاطر اين نيست.
    وقتي عدد 8851011041 رو وارد ميكني اين مقدار بايد تويه number قرار بگيره ولي نميگيره !!!!!!
    چرا رو دقيقا نميدونم . هر چي هست بر ميگرده به تعريف متغيير number. كه int تعريف كرديد.
    شايد overflow ميشه ولي دقيقا نميدونم.
    اين رو ببين
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ممنون دوست عزیز

    بله حق باشماست

    number را از نوع unsigned long int در نظر گرفتم تا عدد 10رقمی را بتونه جا بده تو خودش ! یعنی باید طبق قرارداد خودشون تا 2^32 را در خودش جابده که میشه یه عدد 10 رقمی !


    ولی مثل اینکه اینکار را نمی تونه بکنه !

    کسی نظری نداره !

  9. #8
    اگه نباشه جاش خالی می مونه mm45's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    Esfahan
    پست ها
    449

    14 چه سوتی بدی !!!

    به قول خودم تا 2^ 32 می تونه جابده یعنی عدد : 4294967297
    نه عدد 8میلیارد !

    به خاطر همین هم هست که توی سایت گلستان دیگه شماره دانشجویی ها را 9 رقمی کردند!

    اینم نتیجه مشارکت
    ممنون دوست عزیز


    اما مشکل دوم را چکارش کنم !
    اینکه وقتی یه حلقه while میگذارم برنامه اجرا میشه اما درست کار نمیکنه :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  10. #9
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض


    اما مشکل دوم را چکارش کنم !
    اینکه وقتی یه حلقه while میگذارم برنامه اجرا میشه اما درست کار نمیکنه :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حدث ميزنم از شرط حلقه باشه . احتمالا چون
    شما number رو unsiged تعريف كرديد.
    اون وقت شرط حلقه رو منفي داديد.
    number نميتونه منفي باشه.

  11. 2 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  12. #10
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض

    اعداد بزرگ مثل شماره دانشجویی یا شماره ملی و هر چیز دیگه رو در متغیر رشته ای قرار بدید.بعد عملیات روشون انجام بدید.
    برنامه دوم باید خروجی پست ۴ رو بده؟

  13. این کاربر از ali zi zeperto بخاطر این مطلب مفید تشکر کرده است


صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •