PDA

View Full Version : ماشین حساب مهندسی



mihanblog
چهارشنبه 08 آبان 1392, 11:26 صبح
با سلام خدمت دوستان
من یه ماشین حساب ساده طراحی کردم که رابطه خطی و بدون اولویت رو حساب میکنه
ولی میخوام با پرانتز و اولویت حساب بشه مثلا 2+(4*6) که میشه 25 ولی نمیدونم چطور اینکار رو انجام بدم
میشه کمکم کنید ...
112379
چ کدی رو بنویسم حل بشه..

mehrdad85
چهارشنبه 08 آبان 1392, 14:16 عصر
سلام
دوست عزیز نیاز داری که ماشین حسابت مثل ماشین حساب های معمولی جواب را آنی بدن یا اینکه جواب نهایی را حساب کنن؟
متوجه منظورم میشید؟یعنی نتایج میانی هم نشون بده؟اگه 2+6+9 را به ترتیب وارد میکنی نیازه که فقط 17 را نشون بده یا اول 9 بعد 15 بعد 17؟
اگه نیازی به مراحل و نتایج میانی نیست کافیه که عبارت وارد شده را بگیری و اونو پیشوندی یا پسوندیش کنی و نتیجه را حساب کنی

موفق باشی

yasmohamadi
چهارشنبه 08 آبان 1392, 15:44 عصر
سلام
من زیاد تجربه ندارم ولی به نظر من از یه سرچ برای پرانتز باز بزار تا هر وقت به اون رسیدموقعیت اون رو ذخیره کن و شروع به گشتن پرانتز باز دیگه بگرده و اگه پرانتز بسته شد از اخرین پرانتز باز شروع به اجرا کردن عملیات ریاضی بکن و ...

mihanblog
پنج شنبه 09 آبان 1392, 08:03 صبح
مرسی از جوابتون ماشین حساب من از نوع استاندارد هستش یعنی مثلا 2*(5+4) که میشه 18 رو بصورت خطی یعنی 2*5+4 که میشه 14 حساب میکنه مشکل من اون پرانتز هستش اصلا نمیدونم چطور حلش کنم هیج جا هم نمونه ای ازش نیس ...

cups_of_java
جمعه 10 آبان 1392, 12:50 عصر
برای محاسبه عبارات ریاضی (با در نظر گرفتن پرانتز ها) الگوریتم هایی وجود داره که از استک استفاده می کنه و به صورت پیشوندی یا پسوندی در میاره عبارت رو و بعد محاسبه می کنه...
اینجا رو ببنید (http://stackoverflow.com/questions/7185589/how-to-calculate-expression-in-java)