Starting Out with C++: Early Objects
8th Edition
ISBN: 9780133360929
Author: Tony Gaddis, Judy Walters, Godfrey Muganda
Publisher: Addison-Wesley
expand_more
expand_more
format_list_bulleted
Question
Chapter 18, Problem 8PC
Program Plan Intro
Stack Based Evaluation of Postfix Expression
Program Plan:
- Declare a function skipWhiteSpace that Skips whitespace in an input stream while evaluating a postfix expression.
- Declare a Function postFixEval that evaluates the postfix expression by considering if the next token in the input stream is an integer, read the integer and push it onto the stack using the push() operation of the stack .
- But if the input stream is an operator, pop the last two values from the stack using the pop operation and apply the operator, and push the result onto the stack and the lone value is the result.
- Declare the main function.
- Prompt the user to enter a postfix expression.
- Evaluate the postfix expression by calling the postFixEval function and print the result.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
A set of instructions may be used to show a function's return address. Remember that any modifications you make to the stack cannot prevent the procedure from returning to its caller.
C# language
Write a program that creates a Queue or Stack (your choice) that represents a list of
work orders. This program should use loop, allowing the user to push and pop items
on the stack / queue. The program should also allow the user to print all the items in
the stack / queue to the console.
A sequence of instructions may be used to see the function's return address. Any modifications to the stack must be made with the return of the method to its caller in mind.
Chapter 18 Solutions
Starting Out with C++: Early Objects
Ch. 18.3 - Describe what LIFO means.Ch. 18.3 - What is the difference between static and dynamic...Ch. 18.3 - What are the two primary stack operations?...Ch. 18.3 - What STL types does the STL stack container adapt?Ch. 18 - Prob. 1RQECh. 18 - Prob. 2RQECh. 18 - What is the difference between a static stack and...Ch. 18 - Prob. 4RQECh. 18 - The STL stack is considered a container adapter....Ch. 18 - What types may the STL stack be based on? By...
Ch. 18 - Prob. 7RQECh. 18 - Prob. 8RQECh. 18 - Prob. 9RQECh. 18 - Prob. 10RQECh. 18 - Prob. 11RQECh. 18 - Prob. 12RQECh. 18 - Prob. 13RQECh. 18 - Prob. 14RQECh. 18 - Prob. 15RQECh. 18 - Prob. 16RQECh. 18 - Prob. 17RQECh. 18 - Prob. 18RQECh. 18 - Prob. 1PCCh. 18 - Prob. 2PCCh. 18 - Prob. 3PCCh. 18 - Prob. 4PCCh. 18 - Prob. 5PCCh. 18 - Prob. 6PCCh. 18 - Prob. 7PCCh. 18 - Prob. 8PCCh. 18 - Prob. 9PCCh. 18 - Prob. 10PCCh. 18 - Prob. 11PCCh. 18 - Prob. 12PCCh. 18 - Prob. 13PC
Knowledge Booster
Similar questions
- (Numerical) Write a program that tests the effectiveness of the rand() library function. Start by initializing 10 counters to 0, and then generate a large number of pseudorandom integers between 0 and 9. Each time a 0 occurs, increment the variable you have designated as the zero counter; when a 1 occurs, increment the counter variable that’s keeping count of the 1s that occur; and so on. Finally, display the number of 0s, 1s, 2s, and so on that occurred and the percentage of the time they occurred.arrow_forward* This function evaluates the provided postfix expression. When an operand is encountered, it is added to the stack. When an operator is encountered, two operands are popped, the operation is evaluated, and the result is pushed to the stack.* @param expr string postfix expression representation * @return value of the supplied expressionarrow_forwardJava - Contains the Characterarrow_forward
- Please answer this question fastarrow_forwardThe destination of a function's return value may be represented as a sequence of instructions. When making modifications to the stack, keep in mind that they must not prevent the method from returning to its caller.arrow_forwardA set of instructions may be used to show the return address of a function. Remember that any changes to the stack must not prevent the procedure's return to its caller.arrow_forward
- It is possible to see the function's return address by issuing a set of instructions. It's important to remember that modifying the stack shouldn't prevent the process from returning to its caller.arrow_forwardUsing arrays please write a program to implement the STACK concept. After creating the Array, the user is to be presented with a menu to choose a number of options such as pop, push, top, etc... elements (10-15) to be added on the stack are ints between 0 and 99 display the stack after every operation include a loop to re display the options (menu) and an outer loop to restart the programarrow_forwardStacks 1- Write a Python function that takes a user input of a word and returns True if it is a Palindrome and returns False otherwise (Your function should use a Stack data structure). A palindrome is a word that can be read the same backward as forward. Some examples of palindromic words are noon, civic, radar, level, rotor, kayak, reviver, racecar, redder, madam, and refer. 2- Write a Python function that takes a stack of integer numbers and returns the maximum value of the numbers in the stack. The stack should have the same numbers before and after calling the function. 3- Write a main function that tests the functions you wrote in 1 and 2 above and make sure that your code is well documented.arrow_forward
- 3. Use a stack to evaluate the following postfix expression. 3 5 7 + 2 1 * 1 + +arrow_forwardCanvas Login - Santa Monica College E Quiz: Module 3: Assignment - Loops G The lecture demonstrated how to read a line wit Problem Statement Output Numbers from 1 to N: Write a program that prints out every other number between 1 and N where N is entered by the user. The numbers must be separated by a comma and a space. The last number must not have a comma following it. The program is repeated until a number smaller than 1 is entered at which point the program outputs "Goodbye!" Example: Enter N: 7 1, 3, 5, 7 Enter N: 10 1, 3, 5, 7,9 Enter N: -1 Goodbye! Partial Solution Please try to implement the full source code in your IDE first. The solution is partially provided below. Fill in the blanks to complete the missing parts and make sure to not add an empty space before and after the answer. using namespace std; int Int n- 0; /get a user input for n cout> lprintout every other number (int i- 1;1 <- n; i +- 2){ cout << Nprintout a comma after a number but not the last one. Iffl < n-1){…arrow_forwardModular Programming: Your program should be modular and consists of the following functions: a) read(): - Ask the user for a valid atomic number (Z) b) compute_binding_energy(Z, table): - Build the table (a list of lists) of binding energy where the columns are: the mass number (A), the binding energy (Eb) and the binding energy per nucleon (BEN), while the rows range from A = Z to A = 4Z c) most_stable(table) : - Find and return the row that contains the highest binding energy per nucleon, which corresponds to the most stable configuration. d) print_table(table): - Print the table in a neat tabular format as shown in the sample run in figure 2. e) write_to_file(table, file_name): - Save the table in a text file output.txt as shown in figure 3. 4 f) main(): - The main function is set up to make the calls to the functions as specified in points a) to e)arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning