#### Archived

This topic is now archived and is closed to further replies.

# A little help with for statement

## Recommended Posts

Makoy    126
I got this code from Problem solving with C++ by Walter Savitch. I''m confused with the second output 4 8 12 16! I mean how did a for (i=0;i<10;i=i+2) cout<<<""; got an out put of 0 4 8 12 16? int i, temp[10] for (i=0;i<10;i++) temp[i]=2*i; for (i=0;i<10;i++) cout< Flamers are worst than Newbies

TomasH    360

##### Share on other sites
Makoy    126
Sorry bout that. Here it is.
int i, temp[10]for (i=0;i<10;i++)temp[i]=2*i;for (i=0;i<10;i++) cout<<temp[i]<<"";for (i=0;i<10;i=i+2) cout<<temp[i]<<'''';

The output of the code is:
0 2 4 6 8 10 12 14 16 18
0 4 8 12 16

I''m confused with the second output. I mean, how did the second output produced a 0 4 8 12 16?

Flamers are worst than Newbies

##### Share on other sites
TomasH    360
int i, temp[10]for (i=0;i<10;i++) temp[i]=2*i;

This sets temp to 0,2,4,6,8,10,12... and so on
for (i=0;i<10;i++) cout<<temp[i]<<""; cout<<endl;

Just output temp
for (i=0;i<10;i=i+2) cout<<temp[i]<<"";

Output every other element from temp (since i is increased by two each iteration.)

[edited by - TomasH on May 26, 2004 7:25:58 AM]

##### Share on other sites
Fidelio66    164
quote:
Original post by Makoy
int i, temp[10]for (i=0;i<10;i++)temp[i]=2*i;for (i=0;i<10;i++) cout<<temp[i]<<"";for (i=0;i<10;i=i+2) cout<<temp[i]<<'';//The output of the code is:0 2 4 6 8 10 12 14 16 180 4 8 12 16

I'm confused with the second output. I mean, how did the second output produced a 0 4 8 12 16?

The first two for loops run from 0 to 9 with a step of one (i++). So you get 0,1,2,3,4,5,6,7,8,9

The last for loop increases i by 2. So you get 0,2,4,6,8 and it executes the cout for each value.

[edited by - Fidelio66 on May 26, 2004 7:28:08 AM]

##### Share on other sites
red_sodium    216
Yup, don''t forget that you''re outputting what''s stored in the i''th element in the "temp" array and not the iterator i itself.

for (i=0;i<10;i=i+2)
cout<<<'''';

So you''re outputting the contents of temp[0], temp[2], temp[4], temp[6], and temp[8], which is 0, 4, 8, 12, 16 respectively.