Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Write a program that accepts a string that is a space-delimited integer arithmetic expression in postfix notation. Use a stack to compute the value.
Write a program that accepts a string that is a space-delimited integer arithmetic expression in postfix notation. Use a stack to compute the value. Example: The input string 5 4 + 3 10 *+ is equivalent to the infix expression (5 + 4) + (3 * 10) The answer is 39. The algorithm is: Take the leftmost token from the string If it is numeric (which may include a unary operator), push that token onto the stack If it is a binary operation, pop the vector twice, apply the operation, and push the result When the input string is empty, the stack will contain one entry: the final answer Here's how the given string gets processed: String Stack 5 4 + 3 10 * 4 + 3 10 * + 3 10 5 a 4 5 3 10 * 9 10 * 3 9 10 3 9 30 9 39 The final answer, 39, is the only element in the stack after all tokens in the string have been consumed. This problem has an extra twist. The string contains characters, so 10 isn't a ten, but is the char 1 followed by the char 0. You will need to convert string representations of integers (signed and unsigned) into their integer values. You'll also need to handle unary - and +. We also have to worry about the three non-commuting operators - / %. We will evaluate the postfix string 4 5 - as 4-5 and, likewise, will evaluate 4 5 / as 4/5 and 4 5 % as 4%5. The program should continue to accept and process input strings until the user enters a zero as input. There's no need to check for validity; all input will be well-formed postfix expressions. Submit your .cpp source code and a screen shot of your program in action. +++
Step by Step Solution
★★★★★
3.52 Rating (172 Votes )
There are 3 Steps involved in it
Step: 1
Code include using namespace std int main string str cout Enter String getline ...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started