daily pastebin goal
4%
SHARE
TWEET

Untitled

a guest Feb 18th, 2019 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6. // рекурсивная функция возведения числа х в k-ую степень
  7. double power(double x, int k);
  8.  
  9. // функция вычисления члена ряда
  10. double term_of_series(double x, int k);
  11.  
  12. // рекурсивная функция вычисления суммы ряда
  13. double sum_of_series(double x, int k, int n);
  14.  
  15. int main()
  16. {
  17.     int n; // количество суммируемых членов ряда
  18.     double x, // значение аргумента
  19.            sum; // сумма членов ряда
  20.     cout << "Введите значение аргумента 'x' : ";
  21.     cin >> x;
  22.     if (x * x >= 1)
  23.     {
  24.         cout << "Ошибка. Аргумент не удовлетворяет условию: x^2 < 1";
  25.         return 0;
  26.     }
  27.     cout << "Введите количество членов ряда 'n' : ";
  28.     cin >> n;
  29.     // вычисление суммы ряда
  30.     sum = 2 * sum_of_series(x, 1, n);
  31.     cout << "Сумма членов ряда : " << sum << endl;
  32.     return 0;
  33. }
  34.  
  35. // рекурсивная функция возведения числа х в k-ую степень
  36. double power(double x, int k)
  37. {
  38.     if (k == 1)
  39.         return x;
  40.     return x * power(x, k - 1);
  41. }
  42.  
  43. // функция вычисления члена ряда
  44. double term_of_series(double x, int k)
  45. {
  46.     double result = 0;
  47.     result = power(x, 2 * k - 1) / (2 * k - 1);
  48.     cout << " Член ряда : " << k << " Значение : " << result << endl;
  49.     return result;
  50. }
  51.  
  52. // рекурсивная функция вычисления суммы ряда
  53. double sum_of_series(double x, int k, int n)
  54. {
  55.     if (k <= n)
  56.     {
  57.         // вычисление суммы
  58.         return (term_of_series(x, k) + sum_of_series(x, k + 1, n));
  59.     }
  60.     else
  61.     {
  62.         // прекращаем вычисления суммы, если количество членов
  63.         // ряда превысило заданное количество
  64.         return 0;
  65.     }
  66. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top