ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





سفارش شبیه سازی مقالات و پایان نامه
انجام پروژه و شبیه سازی با متلب
نمایش نتایج: از 1 به 4 از 4
  1. #1
    sara71
    کاربر عادی
    تاریخ عضویت
    May 2016
    نوشته ها
    1
    0
    0

    تبدیل infix به postfix با استفاده از پشته در سی پلاس پلاس

    سلام یه کد نویسی تبدیل infix به postfix با استفاده از پشته می خواستم برای ++C کسی می تونه کمک بکنه.
    ویرایش توسط sara71 : 2016/05/25 در ساعت 01:30
  2. #2
    saeed
    مدیر
    تاریخ عضویت
    Mar 2016
    محل سکونت
    اردبیل
    نوشته ها
    745
    362
    120
    برنامه تبدیل عبارت infix به postfix به سی پلاس پلاس و سی شارپ در فروشگاه سایت داریم که از لینک های زیر می تونید بررسی کنید.
    تبدیل عبارت میانوندی به پسوندی با ++C:
    تبدیل عبارت میانوندی به پسوندی با #C:
    نوآوران گرمی | مرجع فیلم های آموزشی و همیار دانشجو
    Telegram ID: noavarangermi_ir
    Channel: noavarangermi
  3. 1
  4. #3
    noavarangermi
    مدیر کل
    تاریخ عضویت
    Mar 2016
    نوشته ها
    581
    118
    374
    برای تبدیل عبارت infix به postfix با استفاده از پشته در سی پلاس پلاس می تونید از کد زیر استفاده کنید.

    کد:
    #include<iostream>
    #include<stack>//import Stack STL
    #include<string>//import String STL
    #include<conio.h>
    using namespace std;
    
    string infixToPostfix(string expr); //Function declaration
    int precendence(char arg);
    bool isoperand(char arg);
    bool isoperator(char arg);
    int operatorweight(char arg);
    bool highprecendence(char a, char b);
    
    int main()
    {
        string exp;//Variable to get input expression
        cout<<"Enter the infix expression:";
        getline(cin,exp);
        cout<<"Output Postfix Expression:"<<infixToPostfix(exp);
        getch();
    }
    
    string infixToPostfix(string expr)//Function to perform all conversion operation
    {
    
        stack<char> stk;//Declaring a stack for conversion purpose
        string postfix = "";//Initialize the output string as empty;
        for(int i = 0;i < expr.length(); i++)//Scan the infix string one by one
            if(expr[i] == '(')
            {
                stk.push(expr[i]);
            }
            else if(expr[i] == ')')
            {
                while(stk.top() != '(')
                {
                    postfix = postfix + stk.top();
                    stk.pop();
                }
                stk.pop();
            }
            else if(isoperand(expr[i]))
            {
                postfix += expr[i];
            }
            else if(isoperator(expr[i]))
            {
                while(!stk.empty()&& !highprecendence(expr[i],stk.top()))
                {
                    postfix+= stk.top();
                    stk.pop();
                }
                stk.push(expr[i]);
            }
        while(!stk.empty())
        {
            postfix+= stk.top();
            stk.pop();
        }
        return postfix;
    }
    
    bool highprecendence(char a, char b)//Check for operator precendence
    {
        int weighta = operatorweight(a);
        int weightb = operatorweight(b);
        if(weighta >= weightb) return 1;
        return 0;
    }
    
    bool isoperator(char arg)//Check weather the character is operator
    {
        if(arg == '*' || arg == '/' || arg == '+' || arg == '-') return(1);
        else return(0);
    }
    bool isoperand(char arg)//Check weather the character is operand
    {
        if(arg >= '0' && arg <= '9') return 1;
        if(arg >= 'a' && arg <= 'z') return 1;
        if(arg >= 'A' && arg <= 'Z') return 1;
        return 0;
    }
    
    int operatorweight(char arg)//Add weight to the operator
    {
        int weight = 0;
        switch(arg)
        {
        case '*':
        case '/':
            weight = 2;
            break;
        case '+':
        case '-':
            weight = 1;
            break;
        }
        return(weight);
    }
  5. 1
  6. #4
    noavarangermi
    مدیر کل
    تاریخ عضویت
    Mar 2016
    نوشته ها
    581
    118
    374
    سورس برنامه تبدیل عبارت infix ب postfix با استفاده از پشته که در بالا کدش رو قرار دادم با استفاده از برنامه Dev C++ 5.6.0 تست و بدون ایراد اجرا شد. ورژن 5.11 این برنامه رو می تونید از لینک زیر دانلود کنید.
    لینک دانلود:
  7. 1
نمایش نتایج: از 1 به 4 از 4

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •