واضح آرشیو وب فارسی:سایت ریسک: برنامه انجام عملیات اصلی اعداد اعشاری amirepsilon 03 اسفند 1386, 22:31سلام یه برنامه میخوام که بدون استفاده از نوع داده اعشاری و با int بتونه جمع و تفریق و ضرت و تقسیم اعشاری رو انجام بده کسی از دوستان میتونه کمکم کنه ؟ ممنون یا علی __________________ mo.esmp 04 اسفند 1386, 01:58برای چاپش بصورت اعشاری میتونی اینکار رو بکنی int x = 80; int y = 60; cout <<(float) x/y; اما برای نگهداریش میتونی عدد رو تجزیه کنی ودر یک آرایه ذخیره کنی, برای تجزیه عدد رو بر 10 تقسیم میکنی و خارج قسمت رو در یک آرایه ذخیره میکنی, این کا رو تا جایی ادامه میدی که دیگه بر 10 قابل تقسیم نباشه. مثلا اگه عددت 195 بود Array[0] = 1; Array[1] = 9; Array[2] = 5; به اینصورت در آریه ذخیره کنی و حالا اعداد درون آرایه رو از ایندکس 0 بر عدد مورد نظر تقسیم کن, مثلا میخوای 195 بر 2 تقسیم کنی چون تقسیم از چپ به راست صورت میگیره باید ابتدا از 1 شروع کنی چون 1 از 2 کوچکتره باید 1 رو در 10 ضرب کنی و با دومین عدد آرایه یعنی 9 جمع کنی و حالا بر 2 تقسیم کنی, حالا خارج قسمت میشه 9 که در یک آرایه دیگه ذخیره کنی و خاج قسمت رو که 1 میشه در 10 ضرب کرده و با 5 یعنی سومین عنصر آرایه جمع کنی حالا باید 15 رو بر 2 تقسیم کنی که خارج قسمت میشه 7 که در آرایه دیگه در مکان دوم ذخیره میکنی و 1 به عنوان باقیمانده باقی میمونه حالا فقط عدد 1 باقی مونده که از 2 کوچکتره, 1 رو در 10 ضرب کن و یک 0 در مکان سوم آرایه خارج قسمتها که 9 و 7 رو توش ذخیره کردی, قرار بده این صفر مرز اعشاری رو مشخص میکنه یعنی وارد قسمت اعشاری تقسیم شدی بر گردیم سر ادمه تقسیم :) خوب حالا 10 رو بر 2 تقسیم میکنی که خارج قسمت 5 میشه و باقیمانده 0, 5 رو در مکان چهارم آرایه خاج قسمتها ذخیره کن و شکر خدا کار تموم میشه. ولی اگه فرضا بعد از 5 باز باقیمانده داشتیم, اگه باقیمانده گوچکتر از علیه تقیسم بود اون در 10 ضرب کن و بر مقسوم علیه تقیسم کن و دیگه نمیخواد در آرایه خارج قسمتها 0 وارد کنی چون وارد قسمت اعشاری تقسیم شدیم و خودت دلیل ریاضیش رو میدونی. ولی اگه اولین عدد آرایه از مقسوم علیه بزرگتر بود اون رو مستقیم بر مقسوم علیه تقیسم کن و بقیه مراحل رو مطابق بالا انجام بده برای + - * میتونی همین کا رو بکنی :D راستش این راه به نظر من رسیدء شایدم الگوریتمش خیلی راحتر از چیزی باشه که من نوشتم amirepsilon 04 اسفند 1386, 09:28ممنون / برنامه نوشته شدش رو ندارید ؟ mo.esmp 04 اسفند 1386, 11:34:d اگه داشتم که برات میزاشتم ولی اگه فرصت کردم برات مینویسم
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 6869]