The concept of stack is extremely important in computer science and is used in a wide variety of problems. This assignment requires you to write a program that can be used to evaluate ordinary arithmetic expressions that contains any of the five arithmetic operators (+, -, *, /, %).
This exercise requires three distinct steps, namely:-
1. Verify that the infix arithmetic expression (the original expression), that may contain regular parentheses, is properly formed as far as parentheses are concerned.
2. If the parenthesized expression is properly formed, convert the expression from an infix expression to its equivalent postfix expression, called Reverse Polish Notation (RPN) named after the Polish Mathematician J. Lukasiewics.
3. Evaluate the postfix expression, and print the result.
Step 1 - Verify that the expression
Given an arithmetic expression, called an infixed expression, to verify that it is properly formed as far as parentheses are concerned, do the following:
• Create an empty stack to hold left parenthesis ONLY.
• Scanned the arithmetic expression from left to right, one character at a time.
• While there are more characters in the arithmetic expression
{
If the character is a left parenthesis '(', push it on to the stack. However if the character is a right parenthesis, ')', visit the stack and pop the top element from off the stack.
}
• If the stack contains any element at the end of reading the arithmetic expression, then the expression was not properly formed.