Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 333
  • Last Modified:

Stacks

please explain to me how this for statement works:

assuming that stack is a class with stack type set to int and stack capacity to 5.  Give the content of myTop and myArray data memebers of s after code segment has been executed.

Stack s;
for (int i = 0; i<5; i++)  //please help me in this step, what is the first value of i
s.push(2*i);    //what are the values of all the i's please help me.
   s.pop();
   s.pop();

the answer according to my professor is myTop = 2 and myArray is 0, 2, 4, 6 but please help me understand why it is so. i had this question on an exam and i need to understand it.  
0
needle176
Asked:
needle176
1 Solution
 
lwinkenbCommented:
If you were going to put that for loop into english, it would sound like:
set an integer 'i' equal to 0.  while 'i' is less than 5 run the corresponding body, and add 1 to 'i' after each iteration through the loop.

So basically the for loop in your example runs 5 times.  The first time i is equal to 0, then 1, then 2, until it reaches 4.  When i is equal to 5 it wont run because the condition in the for loop says to run while i<5.

since you are pushing 2*i onto the stack, you will basically push the values 0, 2, 4, 6, 8.  Then the last two commands will pop 8, and 6 from the stack.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now