PDA

نسخه کامل مشاهده نسخه کامل : حل معادله چندجمله اي با ++c



MOHAMMAD_s2010
16-12-2008, 12:05
سلام
من ميخواستم برنامه اي بنويسم كه بتونه يك معادله مثل


3+(4*6)+7-(5/2)
رو كه كاربر وارد ميكنه حل كنه.
لطفا كمكم كنيد.:11:

hamidreza_buddy
17-12-2008, 00:52
باید ابتدا آن را از حالت infix (حالت معمولی) به حالت postfix ببریم:
الگوریتمش اینجوریه:

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

سپس از روی postfix مقدار عبار ترا به دست آورید:

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

Omid PLUS
18-12-2008, 01:56
Parsing دقیقاً برای همین کار هستش.
توی گوگل دنبال Parser بگردی یه چیزایی پیدا میکنی.

منم یه Parser خیلی قدرتمند نوشتم که فکر کنم جالب باشه ببینید:

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

MOHAMMAD_s2010
19-12-2008, 12:50
خيلي از دوستان متشكرم
ولي آقاي حميدرضاي عزيز اگه يه تكه كد نمونه هم ميزاشتي خيلي بهتر ميشد.
آخه من يكم آماتورم

hamidreza_buddy
19-12-2008, 20:42
خيلي از دوستان متشكرم
ولي آقاي حميدرضاي عزيز اگه يه تكه كد نمونه هم ميزاشتي خيلي بهتر ميشد.
آخه من يكم آماتورم

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

MOHAMMAD_s2010
23-12-2008, 21:52
خوشبختانه با راهنمايي هاي دوستان خوبم موفق شدم.
كدشم ميزارم برا استفاده ديگر دوستان عزيز:

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

MOHAMMAD_s2010
23-12-2008, 22:04
با تشكر از دوستان.
:10:

mercury 00
08-02-2009, 10:43
برنامه ای که شما نوشتید اجرا می شه ولی عبارت توان دار رومحاسبه نمیکنه مرتبا پیغام stack is empty رو میده ؟مقدار 30 که در ابتدای برنامه تعریف کردین اندازه ی پشته ست؟ در مورد توابع isunder ,isover,intpush,intpop هم میشه توضیح بدید؟