تبدیل یک عبارت ریاضی Infix به Postfix

دوستان عزیز در چند پست قبلی، مطلبی با همین عنوان به اشتباه منتشر شد، که در حفیفت محاسبه ی عبارت ریاضی Postfix بود، در این مطلب تبدیل یک عبارت ریاضی Infix(میان وندی) را به یک عبارت Postfix (پیشوندی) که به زبان  #C نوشته شده می بینید :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Collections;// برای استفاده از استک

namespace infixToPostfix
{
    class Program
    {
        static void Main(string[] args)
        {
            InfixToPost obj = new InfixToPost();

            obj.Convert("a+b*c-d");
            //resutl is abc*+d-
        }
    }

    class InfixToPost
    {
        Stack S = new Stack();

        public void Convert(string x)
        {
            string output = "";
            for (int i = 0; i = priority(c))
                        output += S.Pop();
                    S.Push(c);
                }
                else if (c == '(')
                {
                    S.Push(c);
                }
                else if (c == ')')
                {
                    while (!S.Peek().Equals('('))
                        output += S.Pop();
                    S.Pop();
                }
                else
                    output += c;
            }
            while (S.Count!=0)
                output += S.Pop();
            Console.WriteLine("THE INFIX = " + x);
            Console.WriteLine("THE POSTFIX = " + output);
        }
        public int priority(object x)
        {
            if (x.Equals('+') || x.Equals('-'))
                return 1;
            else if (x.Equals('*') || x.Equals('/'))
                return 2;
            else
                return 0;
        }
    }
}
Advertisements

دربارهٔ Persian Developer

I Love Developing applications

Posted on ژوئن 6, 2010, in CSharp, آموزش, الگوریتم and tagged , , , , , , , , . Bookmark the permalink. بیان دیدگاه.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: