Вычислить сумму ряда с точностью eps - C (СИ) (76323)
Формулировка задачи:
Парни!! помогите !! от вас зависит мой зачет !! вот задача
Найти сумму ряда (приближенное значение функции sin) с точностью eps. X и eps вводятся с клавиатуры. Полученный результат и значение библиотечной функции sin вывести на экран.
Вот ряд
Решение задачи: «Вычислить сумму ряда с точностью eps»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
double eps,x,i=0,j,curr=1.00,f=0.00;
printf("Vvedite znachenie x: ");
scanf("%lf",&x);
printf("Vvedite tochnost' eps: ");
scanf("%lf",&eps);
while (1)
{
double fact=1;
for (j=1;j<=(2*i+1);j++)
fact=fact*(1/j);
curr=pow(-1.00,i)*fact*pow(x,(2*i+1));
f=f+curr;
i++;
if (fabs(curr)<=eps)
break;
}
printf("Znachenie funkcii: %lf\n",f);
printf("Znachenie sinusa: %lf\n",sin(x));
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы ряда синуса x с точностью eps. Переменная i отслеживает номер текущего члена ряда, а переменная f накапливает сумму членов ряда. Код считывает значения x и eps с помощью функции scanf. Затем он входит в цикл while, который продолжает вычислять и добавлять члены ряда до тех пор, пока текущий член ряда не станет меньше заданной точности eps. Значение переменной fact используется для вычисления факториала. Значения переменных curr и f обновляются на каждой итерации цикла. После выполнения цикла выводятся значения функции и синуса x.