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

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

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

Всем привет, помогите, пожалуйста, разобраться, программа вне зависимости от x всегда выводится ноль
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h> // для проверки верности введения шага табулирования

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    printf("\n \t Программа создана для приближенного вычисления "
            "\n значения уравнения указанного в задании № 22"
            "\n в заданном интервале [L;R] и вывода таблицы с шагом d"
            "\n и точностью eps");
    double L, R, d, eps, x, y, ss;
 
    printf("\n\t Введите значения L, R, d, eps через пробел: ");
    scanf("%lf%lf%lf%lf",&L,&R,&d,&eps);
 
    if ((d>(fabs(R-L)) || (eps > 1) || (eps < 0)))
    {
        printf("\n Ошибка!");
        return 0;
    };
 
    if (L > R) // проверка верности данных
    {
        ss = L; //если левая границы больше, то просто поменть правую с левой границы
        L = R;
        R = ss;
    };
 
    x = L;
 
    double fff(double L, double R, double d, double eps, double x);

    printf("|---------------------------------|"
         "\n|       x       ||      y         |"
         "\n|---------------------------------|\n");
    while (x <= R)
    {
        y = fff(L,R,d,eps,x);
        printf("|       %.2lf    ||      %.2lf     |\n",x, y);
        x += d;
    };
    return 0;
}
В основной программе выводится таблица со значениями x и y x задается в диапазоне от L левой границы до R правой границы с шагом d y это сумма бесконечного ряда, которая считается в отдельном файле, функцией, и вычисляется до тех пор, пока каждый последующий член ряда больше либо равен eps, который вводится с клавиатуры...
#include <math.h>
 
double fff(double L, double R, double d, double eps, double x)
{
    double qwerty(double L,double R,double d,double eps, double x);
 
    double sum = 0, a1, k;
 
    a1 = (-1)/x*x;
    k = 1;
 
    while (a1 >= eps)
    {
        sum += a1;
        a1 = ((a1)*(-1) * x * x )/(k*(k+1));
        k++;
    };
 
    return sum;
}

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

textual
Листинг программы
while (fabs(a1) >= eps)

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


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

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

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