Friday, May 26, 2023

Infix To Postfix in C+++

 A program that will convert the given infix expression into postix experession using C++ programming language.

I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me at the following email address for further details.  If you want to advertise on my website kindly contact me also in my email address also. Thank you.

My email address is the following jakerpomperada@gmail.com, jakerpomperada@aol.com, and jakerpomperada@yahoo.com.

My mobile number here in the Philippines is 09173084360.

Please subscribe to my channel  https://www.youtube.com/channel/UCOs-lpOoIeJoh6gpJthPoGg

=================================================


You can buy my C++ book online at  


https://www.mindshaperspublishing.com/product/beginners-guide-to-c-programming/


You can buy my book in introduction to computer networking at 

https://www.unlimitedbooksph.com/product-page/introduction-to-computer-networking


Want to support my channel?

GCash Account

Jake Pomperada


09173084360


Paypal

https://paypal.me/jakerpomperada


Patreon

https://www.patreon.com/jakerpomperada


Thank you very much for your support.




Program Listing


#include <iostream>

#include <stack>

#include <string>


using namespace std;


int precedence(char op) {

    if (op == '+' || op == '-')

        return 1;

    if (op == '*' || op == '/')

        return 2;

    return 0;

}


string infixToPostfix(string infix) {

    stack<char> s;

    string postfix = "";


    for (char& c : infix) {

        if (isalnum(c))

            postfix += c;

        else if (c == '(')

            s.push(c);

        else if (c == ')') {

            while (!s.empty() && s.top() != '(') {

                postfix += s.top();

                s.pop();

            }

            s.pop();  // pop the '('

        } else {

            while (!s.empty() && precedence(c) <= precedence


(s.top())) {

                postfix += s.top();

                s.pop();

            }

            s.push(c);

        }

    }


    while (!s.empty()) {

        postfix += s.top();

        s.pop();

    }


    return postfix;

}


int main() {

    string infix;

    

    

    cout <<"\n\n";

    cout <<"\tInfix To Postfix in C++\n\n";

    

    cout << "\tEnter an infix expression: ";

    getline(cin, infix);


    string postfix = infixToPostfix(infix);

    

    cout <<"\n\n";

    cout << "\tThe corresponding postfix expression is: " << 


postfix << endl;


    return 0;

}




No comments:

Post a Comment