Write a program that reads in a sequence of words and prints them in
reverse order.Using STACK.
As others have said, we won't do your homework for you. However we
can offer some guidance.
First you might clarify the question, are the words one to a line or
can more than one appear on a line? I will assume the second. Is
"STACK" a class that you have been working on in your course? If not
then I will assume you need to use std::stack.
You have not posted any of your own code. That is a pity because it
lets us see what sort of stage you have reached. That would enable us
to pitch our advice at the right level for you. As it is I have to
guess, and I might guess wrong.
A mistake many beginners make is to try to write too much code at
once. The more you write the more difficult it is to find the errors.
Develop your code in *small* steps, testing the code at each step.
Only go on to the next step when you are sure that it is working
correctly.
1 I suggest that you start by writing a piece of code to write a
message to the screen: "Enter some words to reverse: ". Just that.
Yes, I know that you can do that already but it is best to start with
something that you do know and only later extend into the parts that
are new. Test your code and get it working correctly. Do not go on
until it is working properly.
2 Amend your program to read one word and to copy that word to the
screen. Test your code and get it working correctly. Do not go on
until it is working properly.
3 Amend your program to read two words and print them out in the
correct order. This is more complex than it may appear at first since
the two words may be on the same line or on separate lines - you will
need to handle both cases. Test your code and get it working
correctly. Do not go on until it is working properly.
4 Amend your program to read an arbitary number of words, split over
one or more lines, and print them out in the same order. Again there
is a hidden complication since you will have to think of a way to tell
when the last word has been entered. You may want to amend the
message you used at step 1. Test your code and get it working
correctly. Do not go on until it is working properly.
5 Have a look at what your instructor has said about stacks. Make
sure that you understand it. If you don't then ask your instructor to
explain the bits you are not certain of. If needed read up in your
C++ textbook about std::stack and how to use it.
6 When you understand a stack, think about how to use it to reverse
the order of something. To check your understanding you might want to
write a short test program to reverse the order of some integers using
a stack:
7 Now use your knowledge of how a stack works to reverse the order of
the words in your program from step 4. Test your code and get it
working correctly.
If you get stuck at any point then post what you have written here and
we will help you with it.
Points to remember:
- Develop code in small steps.
- Test each step.
- Each step must work before you proceed.
As you get more skilled the steps might become larger but you should
still use the same general method.
rossum
The ultimate truth is that there is no ultimate truth