Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

USING C++: Part 1: Reverse the word We can create a stack using linked lists if we force ourselves to insert and remove nodes only

USING C++:

Part 1: Reverse the word

We can create a stack using linked lists if we force ourselves to insert and remove nodes only at the top of the list. One use of a stack is when you want to write a word backward. In that case, you will read the letters of the word one-by-one and as you read them will push them onto a stack. Once all letters are pushed onto the stack, then pop them back one-by-one. This will produce the letters of the word in reverse order.

Give the definition of the member function push of the class Stack.

Given the definition of the copy constructor for the class Stack.

Write a program that opens a text file and reads its contents into a stack of characters. The program should then pop the characters from the stack and save them in a second text file. The order of the characters saved in the second file should be the reverse of their order in the first file.

Part 2: Reverse Polish Notation (RPN)

Polish notation/expression is also known as prefix notation where the numbers are preceded by its operator (placed in the front). In RPN, the operator comes after the operands instead of the normal format in which the operator is between the operations (this is called infix notation).

Starting with an empty stack, a RPN calculator can be implemented with the following rules:

If a number is input, push it o the stack.

If + is input then pop value1, pop value2, then push value2-value1 on the stack.

If - is input, then pop the last two operands off the stack, multiply them, and push the result on the stack.

If / is input, then pop value1, pop value2, then push value2/value1on the stack.

If q is input, then stop inputting values, print out the top of the stack, and exit the program.

Modify the Stack class given in the class to store integers instead of characters. Use the modified stack to implement a RPN calculator. Output an appropriate error message if there are not two operands on the stack when given an operator.

Here is a sample input and output that is equivalent to ( (10 ( 2 + 3 ) * 2 ) ) / 5:

10

2

3

+

-

2

*

5

/

q

The top of the stack is: 2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learn To Program Databases With Visual Basic 6

Authors: John Smiley

1st Edition

1902745035, 978-1902745039

More Books

Students also viewed these Databases questions

Question

What would the cash cycle be for this problem?

Answered: 1 week ago