#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;
} 