Untitled
unknown
plain_text
2 years ago
893 B
4
Indexable
#include<stdio.h> #include<math.h> double f(double x){ return 3*x*x-6*x+2; } double bisection(double a, double b, double error){ if(f(a)*f(b)>=0){ printf("error: one must be negative"); return NAN; } double c = a; while( (b-a)/b >= error ){ c=(a+b)/2; if(f(c)==0.0){ break; } else if( f(c) * f(a) < 0){ b=c; } else{ a=c; } } return c; } int main(){ double a, b, error; printf("Enter interval [a, b] where the root lies:\n"); printf("a :"); scanf("%lf", &a); printf("b :"); scanf("%lf", &b); printf("error pression :"); scanf("%lf", &error); double root = bisection(a,b,error); if(!isnan(root)){ printf("root = %lf", root); } else{ printf("error"); } return 0; }
Editor is loading...
Leave a Comment