Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- float f(float x){
- return x*x-5*x-3;
- }
- float bisect(float lower, float upper, float (*func)(float)){
- float mid = (lower + upper) / 2;
- if((*func)(upper) == 0)
- return upper;
- else if((*func)(lower) == 0)
- return lower;
- else if((*func)(mid) == 0)
- return mid;
- if((func(mid) > 0 && func(upper) < 0) || (func(mid) < 0 && func(upper) > 0))
- return bisect(mid, upper, func);
- else
- return bisect(lower, mid, func);
- }
- int main(){
- float n1 = -10, n2 = 10, nst;
- nst = bisect(n1, n2, f);
- cout << nst << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement