Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define EPS 1e-5
- //Să se scrie o funcţie care determină rădăcina unei funcţii f(x), în intervalul
- //[a,b], ştiind că admite o singură rădăcină în acest interval. Funcţia f va fi transmisă ca
- //parametru efectiv.
- double f(double x)
- {
- return sin(x);
- }
- double rad(double a, double b, double (*p)(double))
- {
- //f(a)*f(b) < 0, a < b
- double x, fx;
- do {
- x = (b + a) / 2;
- fx = (*p)(x);
- if (fx * (*p)(a) < 0)
- b = x;
- else
- a = x;
- } while(b-a >= EPS && fabs(fx) >= EPS);
- return x;
- }
- int main()
- {
- double a, b;
- scanf("%lf", &a);
- scanf("%lf", &b);
- double x = rad(a, b, f);
- printf("Rad. din [%2f,%2f]: %f\n", a, b, x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement