Сумма бесконечного ряда - C (СИ) (73417)
Формулировка задачи:
Всем привет, помогите, пожалуйста, разобраться, программа вне зависимости от x всегда выводится ноль
В основной программе выводится таблица со значениями x и y
x задается в диапазоне от L левой границы до R правой границы с шагом d
y это сумма бесконечного ряда, которая считается в отдельном файле, функцией, и вычисляется до тех пор, пока каждый последующий член ряда больше либо равен eps, который вводится с клавиатуры...
#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;
}#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)