Advertisement
Infiniti_Inter

Я В РОТ ЕБАЛ ЭТИ МАНИПУЛЯТОРЫ

Dec 16th, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3.  
  4. #define Dash cout << '|' << setw(3) << "NUM" << '|' << setw(4) << 'x' << '|' << setw(10) << "f(x)" << '|' << " cnt|" << endl
  5. #define Line cout << "|---|----|----------|----|" << endl
  6.  
  7. using namespace std;
  8.  
  9. int tw = 2, svn = 7;
  10.  
  11. double eps;
  12.  
  13.  
  14. double abs(double a){return a > 0 ? a : -a;}
  15.  
  16. double next(double x, double cur_x, int i)
  17. {
  18.     return (x * cur_x)/(tw * i * svn * i);
  19. }
  20.  
  21. int cnt_sum;
  22.  
  23. double F(double x)
  24. {
  25.     double result = 1;
  26.     double cur_x = 1;
  27.     cnt_sum = 0;//просуммированно всего.
  28.     for (int i = 1; i < 1000; i++)
  29.     {
  30.         double add = next(x, cur_x, i);
  31.         if (abs(add) <= eps) break;
  32.         cur_x *= -x;
  33.         cnt_sum++;
  34.         result += add;
  35.     }
  36.     return result;
  37. }
  38.  
  39. void Print(double x, double f_x, int cnt, int cnt_sum)
  40. {
  41.     cout << '|' <<  setw(3)  << cnt
  42.          << '|' <<  setw(4)  <<  x
  43.          << '|' <<  setw(10) << fixed << setprecision(6) << f_x << setprecision(1)
  44.          << '|' <<  setw(4)  << cnt_sum
  45.          << '|' <<  endl;
  46.     Line;
  47. }
  48.  
  49. int main()
  50. {
  51.  
  52.    cout << "Enter a : ";
  53.    double a;
  54.    cin >> a;
  55.    cout << "Enter b : ";
  56.    double b;
  57.    cin >> b;
  58.    cout << "Enter 'eps' : ";
  59.    cin >> eps;
  60.    double answer = 1;
  61.    int cnt = 1;
  62.    Line;
  63.    Dash;
  64.    Line;
  65.    for (double i = a; i <= b + 0.0001 ; i += 0.1)// 0.0001 нужен т.к. сравнение вещественных чисел работает через жопу. можно убрать, не думаю, что преподы в курсе таких тонкостей
  66.    {
  67.        double cur = F(i);
  68.        Print(i, cur, cnt, cnt_sum);
  69.        cnt++;
  70.    }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement