Сумма бесконечного числового ряда - C (СИ) (73512)

Узнай цену своей работы

Формулировка задачи:

Всем привет. Вводится с клавиатуры X и считается сумма по след правилу: Есть почти работающая программа
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int n;
    double x, eps, a1, a2;
    double sum;
 
    printf("\n \t Программа вычисляет сумму бесконечного числового ряда");
    printf("\n \t Введите х: ");
    scanf("%lf", &x);
 
    sum = 0.0;
    eps = 0.00001;
    n = 0;
 
    a2 = (pow(x-1,-1))/(x+1);
    a1 = a2;
 
    while (a1 >= eps)
    {
        a1 = (pow(x-1,(2*n-1)))/((pow(x+1,(2*n+1)))*(2*n+1));
        if (a1 > a2)
        {
            printf("\n \t Ряд расходится. Подсчет суммы не имеет смысла");
            return 0;
        }
        a2 = a1;
        sum += a1;
        n++;
    };
 
    printf("\n \t Сумма равна: %lf", sum);
 
    return 0;
}
при 1 выдает абракадабру при вводе числа в отрезке от - 1 до 1 выдаются нули...возможно число просто очень мало, что после запятой не хватает 6 цифр по-идее же можно как-то вывести больше чисел, после запятой чем выводится стандартно?

Решение задачи: «Сумма бесконечного числового ряда»

textual
Листинг программы
a2 = (pow(x-1,-1))/(x+1);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы