finding high and low of numbers.

I have a little problem with this little program
all I have to do is accept numbers from the user
have a running total and then print to screen
the sum, the highest and lowest of the numbers entered.
using cin>>  and cout<<
this is what I have so far  #include<iostream.h>
void main()
{
int n =0;
int high=0;
int low =0;

while (!cin.eof())
{
int x=0;
cin>>x;
if (x>high)
{
high=x;

}

if (x>high)  //this is where the problem is
{              // it is always zero
low=x;
}
n +=x;
}

cout << n << endl;
cout << high<< endl;
cout << low << endl;
}
Who is Participating?

Commented:
if (x>high)  //this is where the problem is
{              // it is always zero
low=x;
}

It should be

if (x<low)  //this is where the problem is
{              // it is always zero
low=x;
}

Besides. you have to set the init value of low and high correctly.  For example, if you only expect  x to be from 0 - 10, set high low than 0 and low greater than 10.
0

Author Commented:
I must have missed typed the code on here the actual code reads (x<low)
you made a light bulb go off when you wrote set int high less than zero.
so I tried
int high -999;
int low 1000;
still getting a zero for low.
thanks for the help
0

Commented:
Is there anything in the input after the last non-zero number?
(what happens if you change
int x=0;
to
int x=low;
?)
0

Author Commented:
I figured it out with some help  you got me thinking and prasanth help with some code he sent
the problem  he figured  was that EOF was sending a zero .
his code worked in a round about way
I started thinking and figurred it out
while(!(cin>>x).eof)
thanks for your help now I can get some sleep.
0

Commented:
as ozo said, you probably have a blank line or something, but not necessarily after your last non-zero number.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.