Integer Postfix Calculator 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...



Integer Postfix Calculator


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 * +           5


   + 3 10 * +           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 .


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.


The hold code please.


c++ programs


May 19, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here