PDA

View Full Version : بدست آوردن جواب یک عبارت محاسباتی با استفاده از تابع بازگشتی



hamid1
پنج شنبه 19 فروردین 1389, 02:00 صبح
با سلام
من می خواهم یک تابع بازگشتی بنویسم که یک عبارت محاسباتی که می تواند شامل ) ( + - * / و عدد ( یک یا دو رقمی ) باشد را دریافت کند پس از الویت بندی عملگرها ، نتیجه را بدهد خواهش می کنم که من را راهنمایی کنید .

moh_mov
پنج شنبه 19 فروردین 1389, 06:19 صبح
به نظر من راه اینهکه(نه بهترین راه!)کاراکتر ها رو بخونی و با IF اولویت بدی بین عملگر ها...با ASCI کد هم کار کنی..یعنی با کد های اسکی که اگر مثلا کداسکی + و کد اسکی * رو داشتی ...اولویت به ضرب داده شه...

Salar Ashgi
یک شنبه 22 فروردین 1389, 16:57 عصر
بهترین روش بنظر من ، گرفتن عبارت محاسباتی بصورت رشته و بعد با استفاده از ارزیابی

عبارات ، عبارت infix مربوطه رو به postfix تبدیل کنیم و تو حالت postfix بعد از پردازش

عبارت ، به ازای هر عملگر دو عملوند از پشته pop میشوند و مقدارشان محاسبه میشود .

zmmehrdad
چهارشنبه 25 فروردین 1389, 01:08 صبح
تو کتاب ساختمان داده های Horwitz یه نگاه بنداز