Explain this output of this program.

#include<iostream.h>
#include<conio.h>
void main()
{
int x[5]={1,2,3,4,5}, y[5]={5,4,3,2,1}, result[5]={0,0,0,0,0};
int i=0;
while(i++<5)
result[i]=x[i]-y[i];
clrscr();
cout<<"\n The contents of the aray are:\n";
i=0;
do
{
cout<<"\t"<<x[i]<<"\t"<<y[i]<<"\t"<<result[i]<<"\n";
i++;
}
while(i<5);
getch();
}

The above program is executed the following output are displayed. How this executed plz explain this.

The contents of the array are:
1 -1 0
2 4 -2
3 3 0
4 2 2
5 1 4
1
2
3
   int i=0;
   while(i++<5)
      result[i]=x[i]-y[i];


Iteration 1:

1
2
while ( 0 < 5 )
    result[1] = x[1]-y[1] ;

Iteration 2:

1
2
while ( 1 < 5 )
    result[2] = x[2]-y[2] ;


....
iteration 5:

1
2
while ( 4 < 5 )
    result[5] = x[5]-y[5] ;



Valid indices for array access are 0 to size-1 for an array with size elements. You're using 1 to size in the first while loop. Delay incrementing i until the body of the loop is executed.
Topic archived. No new replies allowed.