hossein3p2p
چهارشنبه 04 اردیبهشت 1387, 10:28 صبح
با سلام
پروژه ای داشتم ماله درس ساختمان داده که ازم خواسته با زبان ++C:
موضوع پروژه: برنامه ای بنویسید که یک عبارت Infix را از ورودی گرفته و آن را تبدیل به Prefix و Postfix کند؟
MRHagh
چهارشنبه 04 اردیبهشت 1387, 11:43 صبح
الگوریتمی ساده تر از آنچه که توی کتابتون نوشته نداره ...
رشته حاوی عبارت را پویش کنید , به عملوند رسیدید چاپ کنید و اگر به عملگر رسیدید وارد پشته کنید . اگر عملگر Top پشته اولویتش از عملگری که وارد پشته میشود بیشتر یا برابر بود , اول آنرا pop کنید و چاپ کنید , بعد عملگر مورد نظر را وارد کنید ... این عمل را تا جایی که رشته به پایان برسد ادامه دهید . اگر در این لحظه هنوز عملگری در پشته باقی مانده بود , بی هیچ مشکلی آنها را هم pop کنید و بعد چاپ کنید ... نتیجه Postfix است !
برای Prefix رشته را برعکس پویش کنید و شرط بیشتر یا مساوی را به منحصرا بیشتر تغییر دهید .
موفق باشید ...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.