# loop until two doubles differ by 0.00001

Discussion in 'C++' started by yogi_bear_79, Mar 11, 2008.

1. ### yogi_bear_79Guest

I am working on divide-and-average lab. I everything done excep the
syntax for the loop. The loop should run replaceing x with the resutls
of (x + a/x )/2 until x, and (x + a/x )/2 differ by no more than a
given amout, for example 0.00001. I've tried various ideas, the
closest I came was while(x - divavg(a, x) != 0), which more or les
sworked. It stoppend the loop when x = (x + a/x )/2, but I'm not sure
that exactly meets the goal.

yogi_bear_79, Mar 11, 2008

2. ### hurcan solterGuest

On Mar 11, 3:40 am, yogi_bear_79 <> wrote:
> I am working on divide-and-average lab. I everything done excep the
> syntax for the loop. The loop should run replaceing x with the resutls
> of (x + a/x )/2 until x, and (x + a/x )/2 differ by no more than a
> given amout, for example 0.00001. I've tried various ideas, the
> closest I came was while(x - divavg(a, x) != 0), which more or les
> sworked. It stoppend the loop when x = (x + a/x )/2, but I'm not sure
> that exactly meets the goal.

something like,

fabs(x-divavg(a,x)) < 0.00001;

and make it a function

hurcan solter, Mar 11, 2008

3. ### yogi_bear_79Guest

On Mar 10, 10:16 pm, hurcan solter <> wrote:
> On Mar 11, 3:40 am, yogi_bear_79 <> wrote:
>
> > I am working on divide-and-average lab.  I everything done excep the
> > syntax for the loop. The loop should run replaceing x with the resutls
> > of (x + a/x )/2 until x,  and (x + a/x )/2 differ by no more than a
> > given amout, for example 0.00001.  I've tried various ideas, the
> > closest I came was while(x - divavg(a, x)  != 0), which more or les
> > sworked. It stoppend the loop when x =  (x + a/x )/2, but I'm not sure
> > that exactly meets the goal.

>
> something like,
>
>  fabs(x-divavg(a,x)) < 0.00001;
>
> and make it a function

Thanks, while(fabs(x-divavg(a, x)) > 0.00001) works fine, except it
stops one short, I've also tried a do/while same results, any syntax I
am missing so I don't have to put one more cout statement outside the
loop to catch the last iteration.

yogi_bear_79, Mar 11, 2008