Question: Program In C++ Language Problem Statement: Recall the concepts of stacks. Implement a stack using arrays. Build a program that takes an infix statement and
Program In C++ Language


Problem Statement: Recall the concepts of stacks. Implement a stack using arrays. Build a program that takes an infix statement and converts it to a postfix statement. If the statement is incorrect the program should inform the user that the input statement is incorrect. Otherwise it should return the postfix expression. After the statement has been successfully converted, the program should then evaluate this postfix expression and return the result. a. b. (Infix to Postfix) Write a program that converts an infix expression into an equivalent postfix expression. The rules to convert an infix expression into an equivalent postfix expression are as follows: Suppose infx represents the infix expression and pfx represents the postfix expression. The rules to convert infx into pfx are as follows: Initialize pfx to an empty expression and also initialize the stack. Get the next symbol, sym, from infx. b.1. If sym is an operand, append sym to pfx. b.2. If sym is (, push sym into the stack. If sym is ), pop and append all the symbols from the stack until the most recent left parenthesis. Pop and discard the left parenthesis. b.4. If sym is an operator: b.4.1. Pop and append all the operators from the stack to pfx that are above the most recent left parenthesis and have pre- cedence greater than or equal to sym. b.4.2. Push sym onto the stack. c. After processing infx, some operators might be left in the stack. Pop and append to pfx everything from the stack. In this program, you will consider the following (binary) arithmetic opera- tors: +, -, *, and /. You may assume that the expressions you will process are error free
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
