#include <stdio.h>
#include <math.h>
double metod (double,double,double(*f)(double),double(*df)(double),double);
double f(double x)
{
return exp(x)-exp(-x)-2;
}
double f1(double x)
{
return x*(sin(x)-cos(x))-1/3;
}
double df(double x)
{
return exp(x)+exp(-x);
}
double df1(double x)
{
return x/(cos(x)*cos(x))+sin(x)/cos(x);
}
main(void)
{
double a,b,a1,b1,e,e1;
printf("Vvedite granici dlya 1-go uravn\n");
scanf("%f%f",&a,&b);
printf("Vvedite tochnost' dlya 1-go uravn\n");
scanf("%f",&e);
printf("Vvedite granici dlya 2-go uravn\n");
scanf("%f%f",&a1,&b1);
printf("Vvedite tochnost' dlya 2-go uravn\n");
scanf("%f",&e1);
printf("\n Koren' 1-go uravn=%lf\n",metod(a,b,f,df,e));
printf("\n Koren' 2-go uravn=%lf\n",metod(a1,b1,f1,df1,e1));
return 0;
}
double metod (double a,double b,double(*f)(double),double(*df)(double),double e)
{
double xk,xk1,y;
xk=a;
y=f(xk);
while (fabs(y)>e)
{
xk1=xk-f(xk)/df(xk);
xk=xk1;
y=f(xk1);
}
return xk1;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgpkb3VibGUgbWV0b2QgKGRvdWJsZSxkb3VibGUsZG91YmxlKCpmKShkb3VibGUpLGRvdWJsZSgqZGYpKGRvdWJsZSksZG91YmxlKTsKCmRvdWJsZSBmKGRvdWJsZSB4KQp7CglyZXR1cm4gZXhwKHgpLWV4cCgteCktMjsKfQpkb3VibGUgZjEoZG91YmxlIHgpCnsKCXJldHVybiB4KihzaW4oeCktY29zKHgpKS0xLzM7Cn0KZG91YmxlIGRmKGRvdWJsZSB4KQp7CglyZXR1cm4gZXhwKHgpK2V4cCgteCk7Cn0KZG91YmxlIGRmMShkb3VibGUgeCkKewoJcmV0dXJuIHgvKGNvcyh4KSpjb3MoeCkpK3Npbih4KS9jb3MoeCk7Cn0KCgoKbWFpbih2b2lkKQp7Cglkb3VibGUgYSxiLGExLGIxLGUsZTE7CQoJcHJpbnRmKCJWdmVkaXRlIGdyYW5pY2kgZGx5YSAxLWdvIHVyYXZuXG4iKTsKCXNjYW5mKCIlZiVmIiwmYSwmYik7CglwcmludGYoIlZ2ZWRpdGUgdG9jaG5vc3QnIGRseWEgMS1nbyB1cmF2blxuIik7CglzY2FuZigiJWYiLCZlKTsKCXByaW50ZigiVnZlZGl0ZSBncmFuaWNpIGRseWEgMi1nbyB1cmF2blxuIik7CglzY2FuZigiJWYlZiIsJmExLCZiMSk7CglwcmludGYoIlZ2ZWRpdGUgdG9jaG5vc3QnIGRseWEgMi1nbyB1cmF2blxuIik7CglzY2FuZigiJWYiLCZlMSk7CglwcmludGYoIlxuIEtvcmVuJyAxLWdvIHVyYXZuPSVsZlxuIixtZXRvZChhLGIsZixkZixlKSk7CglwcmludGYoIlxuIEtvcmVuJyAyLWdvIHVyYXZuPSVsZlxuIixtZXRvZChhMSxiMSxmMSxkZjEsZTEpKTsKCXJldHVybiAwOwp9Cgpkb3VibGUgbWV0b2QgKGRvdWJsZSBhLGRvdWJsZSBiLGRvdWJsZSgqZikoZG91YmxlKSxkb3VibGUoKmRmKShkb3VibGUpLGRvdWJsZSBlKQp7Cglkb3VibGUgeGsseGsxLHk7Cgl4az1hOwoJeT1mKHhrKTsKCXdoaWxlIChmYWJzKHkpPmUpIAoJewoJCXhrMT14ay1mKHhrKS9kZih4ayk7CgkJeGs9eGsxOwoJCXk9Zih4azEpOwoJfQoJcmV0dXJuIHhrMTsKfSA=