fork(2) download
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n=0;
  8. double x, E, left, right=0.0, differ; //начальные переменные.
  9. scanf("%lf %lf", &x, &E); //ввод аргумента и погрешности.
  10. if(fabs(x)>1) //Модуль аргумента не должен превышать единицу.
  11. {
  12. printf("Некорректно задан аргумент x (|x|<1)");
  13. }
  14. else
  15. {
  16. left=(pow(M_PI,2)/8)-((M_PI/4)*fabs(x)); //вычисление левой части.
  17. if (E!=0)
  18. {
  19. do
  20. {
  21. right+=cos((2*n+1)*x)/((4*n*n)+4*n+1); //вычисление правой части.
  22. n++;
  23. differ=right-fabs(left); //разность левой и правой части.
  24. }
  25. while (differ>E); //условие, при котором цикл останавливается.
  26. printf("Левая часть равна = %.10lf \nПравая часть равна = %.10lf \n",left,right);
  27. printf("После n=%d исследуемое выражение отличается от левой части более, чем на %.10lf,", n, E);
  28. printf("а именно на %.10lf \n",fabs(differ));
  29. }
  30. else
  31. {
  32. printf("Погрешность равна 0, тогда правая часть стремится к левой, и равняется %.10lf, тогда n стремится в бесконечность",left);
  33. }
  34. }
  35. return 0;
  36. }
Success #stdin #stdout 0s 3344KB
stdin
0.4 0
stdout
Погрешность равна 0, тогда правая часть стремится к левой, и равняется 0.9195412848, тогда n стремится в бесконечность