Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

How can I edit the following code to show infix to postfix for expressions dealing with numbers? The current program only runs with letter variables.

How can I edit the following code to show infix to postfix for expressions dealing with numbers? The current program only runs with letter variables.

#include

#include

using namespace std;

bool isOperator(char c)

{

if(c=='+'||c=='-'||c=='*'||c=='/'||c=='^')

{

return true;

}

else

{

return false;

}

}

int precedence(char c)

{

if(c == '^')

return 3;

else if(c == '*' || c == '/')

return 2;

else if(c == '+' || c == '-')

return 1;

else

return -1;

}

string InfixToPostfix(stack s, string infix)

{

string postfix;

for(int i=0;i

{

if((infix[i] >= 'a' && infix[i] <= 'z')

||(infix[i] >= 'A' && infix[i] <= 'Z'))

{

postfix+=infix[i];

}

else if(infix[i] == '(')

{

s.push(infix[i]);

}

else if(infix[i] == ')')

{

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

{

char temp=s.top();

postfix+=temp;

s.pop();

}

if(s.top()=='(')

{

s.pop();

}

}

else if(isOperator(infix[i]))

{

if(s.empty())

{

s.push(infix[i]);

}

else

{

if(precedence(infix[i])>precedence(s.top()))

{

s.push(infix[i]);

}

else if((precedence(infix[i])==precedence(s.top()))&&(infix[i]=='^'))

{

s.push(infix[i]);

}

else

{

while((!s.empty())&&( precedence(infix[i])<=precedence(s.top())))

{

postfix+=s.top();

s.pop();

}

s.push(infix[i]);

}

}

}

}

while(!s.empty())

{

postfix+=s.top();

s.pop();

}

return postfix;

}

int main()

{

string infix_exp, postfix_exp;

cout<<"Enter a Infix Expression :"<

cin>>infix_exp;

stack stack;

cout<<"INFIX EXPRESSION: "<

postfix_exp = InfixToPostfix(stack, infix_exp);

cout<

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Fundamentals Of Database Systems

Authors: Sham Navathe,Ramez Elmasri

5th Edition

B01FGJTE0Q, 978-0805317558

More Books

Students also viewed these Databases questions

Question

How do Excel Pivot Tables handle data from non OLAP databases?

Answered: 1 week ago