witam,
W jaki sposób dodać argument wyświetlający że "funkcja nie zawiera miejsca zerowego"?
po wpisaniu nie właściwego przedziału program wyświetla najwyższą liczbę zadanego przedziału.
prosił bym o poradę.
z góry dziękuję.
pozdrawiam.
#include <iostream>
#include<iostream>
#include<iomanip>
using namespace std;
double f(double x)
{
//rozpatrujemy wielomian f(x) = x^2-4
return x*x-4; //rozbijam schematem Hornera
}
double polowienie_przedzialow(double a, double b, double epsilon)
{
if(f(a)==0.0)return a;
if(f(b)==0.0)return b;
double srodek;
while(b-a > epsilon)
{
srodek = (a+b)/2;
if(f(srodek) == 0.0) //jesli miejsce zerowe jest w srodku
return srodek;
if(f(a)*f(srodek)<0)
b = srodek;
else
a = srodek;
}
return (a+b)/2;
}
int main()
{
double a , b, epsilon = 0.00001;
cout<<"Podaj poczatek przedzialu :";
cin>> a;
cout<<"Podaj koniec przedzialu :";
cin>> b;
cout<<"Znalezione miejsce zerowe wynosi: ";
cout<<fixed<<setprecision(5)<<polowienie_przedzialow(a, b, epsilon);
cin.get();
return 0;
}