#include #include #include using namespace std; double tryg (double x) { return sin(2*x+1)-tan(x)+1; } double wielomian (double x) { return 3*x*x*x+5*x*x+2*x+5; } double wykladnicza(double x) //funkcja w postaci f(x)=5^x-25 { return 2*exp(x/2)-3; } void bisekcja (double (*funkcja)(double), double a, double b, double epsilon, unsigned int ilosc) { unsigned int i=0; double x; do { x=(a+b)/2; if (funkcja(a)*funkcja(x)<0) b=x; else a=x; i++; }while(((funkcja(x)>epsilon)||(funkcja(x)<0-epsilon))&&(iepsilon)||(funkcja(x)<0-epsilon))&&(i>wybor; cout<<"Teraz podaj przedzial na ktorym szukamy miejsc zerowych"<>a; cout<<"Podaj prawe ograniczenie przedzialu:"<>b; cout<<"wybierz, czy warunkiem stopu ma byc zadana ilosc iteracji (0), czy osiagniecie zadanej dokladnosci obliczen (1)"<>stop; if (stop) { cout<<"podaj wartosc epsilon"<>epsilon; } else { cout<<"podaj ilosc iteracji"<>ilosc; } if (wybor=='0') { if(tryg(a)*tryg(b)>0) { cout<<"nieprawidlowy przedzial"<0) { cout<<"nieprawidlowy przedzial"<0) { cout<<"nieprawidlowy przedzial"<