اطلاعیه

Collapse
No announcement yet.

مشکل در یک تقسیم ساده

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در یک تقسیم ساده

    با سلام
    مسخره است ولی من وقتی می خوام تو ccs یک تقسیم ساده انجام بدم نمی تونم:
    کد:
    int16 position[2];
    positiona[0]=60464;
    int16 komaki=position[0]/252;
    position[0]=komaki;
    //position[0]/=252
    یا
    کد:
    komaki=position[0]/(int16)252
    یا
    کد:
    komaki=(int16)(position[0]/252)
    یا تقسیم انجام نمی شه یا جواب اشتباه می ده.

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

    #2
    پاسخ : مشکل در یک تقسیم ساده

    سلام
    اعدادی که باید اعشاری باشن یا جوابشون اعشاری هست رو به فرم x.0 بنویسین مثلا به جای
    255 بنویسین 255.0
    سعی کنین به برنامه نویسی C و casting آن مسلط بشین
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

    دیدگاه


      #3
      پاسخ : مشکل در یک تقسیم ساده

      متشکر از پاسختون.
      1. من که اعداد اعشاری ندارم.یکی int16 هست و یکی دیگه 252
      2.casting????
      دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

      دیدگاه


        #4
        پاسخ : مشکل در یک تقسیم ساده

        سلام
        تقسیم می تونه دو اعدد صحیح (مثلا 1 و 2) اعشاری باشه ، اما در صورتی که هر دو صحیح باشن یا جواب در متغییر اعشاری ریخته می شود قسمت اعشاری خودکار حذف می شه و باعث ایجاد خطا می شه

        casting یعنی هنگامی که یک متغییر از نوع خاصی هست در بین عبارت تایپ متغییر رو برای انجام عمل مورد نظر خودتون تغییر می دین

        این کار شما یک نوع casting هست
        (int16)(position[0]/252
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : مشکل در یک تقسیم ساده

          سلام
          شما متغییری تعریف کردین و متغییر دیگه ای مقدار دهی کردین
          int16 position[2];
          positiona[0]=60464
          لطفا برنامه رو مجددا چک کنین
          هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

          دیدگاه


            #6
            پاسخ : مشکل در یک تقسیم ساده

            خیلی ممنون.
            ببینم درست فهمیدم.
            من قسمت اعشاری رو که میشه با عملگر % بدست آورد نمی خوام و دوست دارم حذف بشه ولی عملا این قسمت وجود داره و اذیت میکنه ؟؟؟؟
            ولی در این صورت من شاهد بودم که قبلا تقسیم مثلا 5 بر 2 رو انجام دادم و عدد 2 نتیجه گرفتم و کارم رو هم راه انداخته !
            دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

            دیدگاه


              #7
              پاسخ : مشکل در یک تقسیم ساده

              شما متغییری تعریف کردین و متغییر دیگه ای مقدار دهی کردین
              من می خواستم که یک آرایه دو عنصری تعریف کنم که عنصر صفرم اون رو مقدار دهی کنم و با اون کار کنم ، مثل زیر:
              کد:
              int a[3];
              a[2] = 55;
              a[0] = 11;
              a[1] = 33;
              [hr]
              از پاسختون متشکرم
              دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

              دیدگاه


                #8
                پاسخ : مشکل در یک تقسیم ساده

                :wow: :wow: :wow:
                خیلی عالی بود ، واقعا لذت بخشه وقتی آدم یه چیز جدید یاد میگیره ، واقعا ممنونم. :applause:
                اینجوری کار کرد:
                کد:
                  int16 komaki;
                  (int16)komaki=(int16)position[0]/(int16)252;
                الان تاچم داره مثل بنز کار می کنه
                دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                دیدگاه


                  #9
                  پاسخ : مشکل در یک تقسیم ساده

                  با سلام،

                  هیچ گیر خاصی وجود نداره! موضوع رو نگرفتی داداششش :mrgreen:

                  تعریف کردی :
                  int16 position[2];

                  اونوقت به این مقدار دادی :
                  positiona[0]=60464

                  این خط اخیر رو درستش کن، حله، حالا موندم چرا کامپایلرت ارور نداده؟! oo:
                  مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                  Sh_Nourbakhsh@Yahoo.com

                  http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                  دیدگاه


                    #10
                    پاسخ : مشکل در یک تقسیم ساده

                    میگم چرا وقتی از دستور printf استفاده می کردم به نوع متغیر گیر می داد.
                    در صورتی که من متغیر رو int16 انتخاب کرده بودم و printf رو هم %lu گذاشته بودم...
                    تو نگو این ناقلا خودش ورداشته بوده نوع متغیر رو تغییر داده بوده به float
                    پس چرا قبلا به این مشکل بر نخورده بودم؟!؟!؟!؟؟!؟!
                    دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                    دیدگاه


                      #11
                      پاسخ : مشکل در یک تقسیم ساده

                      نوشته اصلی توسط aivhl
                      با سلام،

                      هیچ گیر خاصی وجود نداره! موضوع رو نگرفتی داداششش :mrgreen:

                      تعریف کردی :
                      int16 position[2];

                      اونوقت به این مقدار دادی :
                      positiona[0]=60464

                      این خط اخیر رو درستش کن، حله، حالا موندم چرا کامپایلرت ارور نداده؟! oo:
                      آها
                      من این رو از برنامه کپی نکردم ، خودم دستی نوشتم
                      ممنون
                      دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                      دیدگاه

                      لطفا صبر کنید...
                      X