Witam! Mam taki problem: mam napisać program wyliczający bardzo dużą ilość liczb rzeczywistych pomiędzy dwiema liczbami rzeczywistymi ( Zbiór liczb rzeczywistych jest gęsty więc jest ich nieskończoność). Używam zmiennych long double więc powinno mi wypisywać 19-20 cyfr po przecinku ale po 5 cyfrach zaczyna mi zaokrąglać. Dowiedziałam się że muszę ustawić zaokrąglanie liczb w kodzie ale nigdzie nie mogę znaleźć jak to zrobić. Z góry dziękuje za wszystkie odpowiedzi.
#include <iostream>
using namespace std;
long double mniejsza;
long double wieksza;
int main()
{
cout << "Podaj mniejsza z dwoch liczb rzeczywistych: " << endl;
cin>>mniejsza;
cout<<"Podaj wieksza z dwoch liczb rzeczywistych: "<<endl;
cin>>wieksza;
for(int i=1; i<=100000; i++)
{
mniejsza = (mniejsza+wieksza)/2;
cout<<mniejsza<<endl;
}
return 0;
}
Po odpaleniu dzieje się coś takiego:
Podaj mniejsza z dwoch liczb rzeczywistych:
1
Podaj wieksza z dwoch liczb rzeczywistych:
2
1.5
1.75
1.875
1.9375
1.96875
1.98438
1.99219
1.99609
1.99805
1.99902
1.99951
1.99976
1.99988
1.99994
1.99997
1.99998
1.99999
2
2
2
2
2
2
2
2
2
I już do końca lecą dwójki.