PDA

View Full Version : سوال: تبدیل اعداد اعشاری به اعداد گویا



clover
چهارشنبه 15 مهر 1388, 11:37 صبح
با سلام
من کلاسی نوشتم که اعداد گویا را در خودش نگه می داره ( به شکل صورت و مخرج ) و مشغول سربار گذاری عملگر ها هستم . میخوام عملگر انتساب را طوری سربار گذاری کنم که با دستور ratio = 5.5 کسر 55/10 در کلاس من قرار داده بشه . مشکل در اینجاست که برنامه با چه روشی باید بفهمه که عدد چند رقم اعشار داره تا صورت و مخرج مناسب به دست بیاد .
آیا الگوریتم ها بهینه تری وجود داره ( با روش من اعداد بعد از تبدیل باید ساده هم بشن ) .
و در کل اگر لینک یا منبعی در این مورد هست ممنون میشم معرفی کنید .

Mahmood_M
چهارشنبه 15 مهر 1388, 19:55 عصر
به عنوان یک پیشنهاد ، اگر حاصل نهایی رو به صورت رشته ذخیره می کنید میتونید مقدار اعشاری رو به رشته تبدیل کنید و بعد رشته رو پردازش کنید ...
یعنی اینکه ابتدا عدد رو به رشته تبدیل کنید و بعد در رشته ی بدست اومده دنبال نقطه بگردید ! ، بعد از رسیدن به نقطه ، تعداد اعداد بعد از نقطه در رشته رو بشمارید ، تعدادی که بدست میاد میشه تعداد صفرهای مخرج و خود عدد بدون نقطه هم که میشه صورت ...

درضمن ، با چه زبانی برنامه می نویسید ؟
من یک سورس دلفی براتون می زارم ...
38096

اگر مشکلتون رو حل کرد و اگه مایل بودید می تونم همین رو با ++C هم بنویسم ( البته روش کار ساده هست ! )

موفق باشید ...

clover
جمعه 17 مهر 1388, 02:58 صبح
این راه حل را با جستجو در همین سایت پیدا کردم ، اما دنبال یه راه حل یا الگوریتم ریاضی می گردم ، راه حلی که بتونه با تقریب دلخواه یک float یا عدد اعشاری را به عدد گویا تبدیل کنه . البته اگه وجود داشته باشه .

pouya9
شنبه 01 خرداد 1389, 11:18 صبح
اگر ممكنه با ++c بزاريد.