fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. double metod (double,double,double(*f)(double),double(*df)(double),double);
  5.  
  6. double f(double x)
  7. {
  8. return exp(x)-exp(-x)-2;
  9. }
  10. double f1(double x)
  11. {
  12. return x*(sin(x)-cos(x))-1/3;
  13. }
  14. double df(double x)
  15. {
  16. return exp(x)+exp(-x);
  17. }
  18. double df1(double x)
  19. {
  20. return x/(cos(x)*cos(x))+sin(x)/cos(x);
  21. }
  22.  
  23.  
  24.  
  25. main(void)
  26. {
  27. double a,b,a1,b1,e,e1;
  28. printf("Vvedite granici dlya 1-go uravn\n");
  29. scanf("%f%f",&a,&b);
  30. printf("Vvedite tochnost' dlya 1-go uravn\n");
  31. scanf("%f",&e);
  32. printf("Vvedite granici dlya 2-go uravn\n");
  33. scanf("%f%f",&a1,&b1);
  34. printf("Vvedite tochnost' dlya 2-go uravn\n");
  35. scanf("%f",&e1);
  36. printf("\n Koren' 1-go uravn=%lf\n",metod(a,b,f,df,e));
  37. printf("\n Koren' 2-go uravn=%lf\n",metod(a1,b1,f1,df1,e1));
  38. return 0;
  39. }
  40.  
  41. double metod (double a,double b,double(*f)(double),double(*df)(double),double e)
  42. {
  43. double xk,xk1,y;
  44. xk=a;
  45. y=f(xk);
  46. while (fabs(y)>e)
  47. {
  48. xk1=xk-f(xk)/df(xk);
  49. xk=xk1;
  50. y=f(xk1);
  51. }
  52. return xk1;
  53. }
Time limit exceeded #stdin #stdout 5s 15224KB
stdin
Standard input is empty
stdout
Standard output is empty