arytmetyka

0

Witam
chciałbym się dowiedzieć dlaczego ten programik działa tak samo jak pętla while (1) ?

#include <iostream.h>

main()
{
long double c;
long double d,e;

c=1;
e=10;
d=-2;

for(int i=0;;i++)
{

cout<<"\nWartosc d "<<d<<"\tdla i "<<i<<endl;

if (d=0)
{
cout<<"Wartosc d ="<<d<<endl;break;}

d=d+0.1;

}

Dla " i " równego 20 wartość d powinna wynieść 0 ,a jest tylko zbliżona do tej wartości . Czy chodzi o to ,że dla tego typu zmiennej wartość 6.38378e-16 odpowiada 0 ?? Jak więc zrobić ,żeby wartość d była równa 0 ?? Nie chodzi mi o takie rozwiązanie ,że można wstawić kolejny warunek np. if (d<0.0000000000001){d=0;} Proszę o normalne odpowiedzi z góry dzięki

0

Dzięki tej: for(int i=0;;i++) instrukji - można jej używać zamiast while(1), while(true)

1 użytkowników online, w tym zalogowanych: 0, gości: 1