Archived

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

Makoy

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

Share this post


Link to post
Share on other sites
TomasH    360
Uh... Could you please add code or source tags to your post? The code you posted is pretty unreadable otherwise

Share this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 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?


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 this post


Link to post
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.

Share this post


Link to post
Share on other sites