PDA

View Full Version : تبدیل Infix به Prefix و Postfix به زبان ++C



hossein3p2p
چهارشنبه 04 اردیبهشت 1387, 09:28 صبح
با سلام

پروژه ای داشتم ماله درس ساختمان داده که ازم خواسته با زبان ++C:

موضوع پروژه: برنامه ای بنویسید که یک عبارت Infix را از ورودی گرفته و آن را تبدیل به Prefix و Postfix کند؟

MRHagh
چهارشنبه 04 اردیبهشت 1387, 10:43 صبح
الگوریتمی ساده تر از آنچه که توی کتابتون نوشته نداره ...
رشته حاوی عبارت را پویش کنید , به عملوند رسیدید چاپ کنید و اگر به عملگر رسیدید وارد پشته کنید . اگر عملگر Top پشته اولویتش از عملگری که وارد پشته میشود بیشتر یا برابر بود , اول آنرا pop کنید و چاپ کنید , بعد عملگر مورد نظر را وارد کنید ... این عمل را تا جایی که رشته به پایان برسد ادامه دهید . اگر در این لحظه هنوز عملگری در پشته باقی مانده بود , بی هیچ مشکلی آنها را هم pop کنید و بعد چاپ کنید ... نتیجه Postfix است !
برای Prefix رشته را برعکس پویش کنید و شرط بیشتر یا مساوی را به منحصرا بیشتر تغییر دهید .
موفق باشید ...