NIKOLAY_TETUS

lab4_final

Dec 6th, 2021
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.36 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
  5.  
  6. double max(double x, double y, double z)
  7. {
  8.     if (x > y && x > z)
  9.         return x;
  10.     if (y > x && y > z)
  11.         return y;
  12.  
  13.     return z;
  14. }
  15.  
  16. int main()
  17. {
  18.     double a = 1.2, b = -0.5, c = -3.4, d = 1.3,
  19.             x0 = 1.4, h = 0.2;
  20.  
  21.     int n = 7, m = 5;
  22.  
  23.     double p = max(a, b, MIN(c, d));
  24.     double x;
  25.  
  26.     double ak;
  27.  
  28.     double koef;
  29.  
  30.     int k = 1;
  31.     double S = 0;
  32.  
  33.     //Тут i принимает значения от i до m включительно
  34.     for (int i = 1; i <= m; i++)
  35.     {
  36.         k = 1;
  37.         x = x0 + (i - 1) * h;
  38.         koef = ( (-1) * (x * exp(-p)) ) / k;
  39.  
  40.         //Находим значение A1 (k = 1)
  41.         ak = exp(-p);
  42.  
  43.         //Выводим первый член последовательности
  44.         printf("A1 = %lf, koef = %lf\n", ak, koef);
  45.  
  46.         S = 0;
  47.         if (ak < 0)
  48.             S += ak;
  49.  
  50.         //Тут k принимает значения от 1 до n включительно
  51.         for (k = 2; k <= n; k++)
  52.         {
  53.             koef = ( (-1) * (x * exp(-p)) ) / k;
  54.             ak *= koef;
  55.  
  56.             if (ak < 0)
  57.                 S += ak;
  58.  
  59.             printf("k = %d; ak = %lf\n", k, ak);
  60.         }
  61.  
  62.         printf("S = %lf; x = %lf\n", S, x);
  63.     }
  64.  
  65.  
  66. }
Add Comment
Please, Sign In to add comment