Вычислить приближенную сумму функциональной последовательности - C (СИ)

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

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

Доброго времени суток! Я новичок в языке Си. Получил задачу вычислить приближенную сумму функциональной последовательности: двумя способами: сумму первых n членов ряда и сумму с точностью до eps (эпсилон) в двух разных функциях. Сделал задачу таким способом, но получил множество ошибок:
double Sum1(int n)
{
    double rez, p;
    int i;
    rez = p = 0;
    for (i = 1; i <= n; i++)
    {
        p *= -(1) / (i * i + 1);
        rez += p;
    }
}
return rez;
 
double Sum2(double eps)
{
    double rez, p;
    int i;
    rez = p;
    i = 1;
    while (fabs(p) >= eps)
    {
        i++;
        p *= -(1) / (i * i + 1);
        rez += p;
    }
}
return rez;
 
int main()
{
double n,eps;
scanf("%f",&n);
scanf("%f",&eps);
printf("%f", Sum1(n));
printf("%f", Sum2(eps));
return 0;
}
Что тут можно исправить, чтобы программа работала? Заранее спасибо за любую помощь!

Решение задачи: «Вычислить приближенную сумму функциональной последовательности»

textual
Листинг программы
double square(double x) {
    return x * x;
}
 
double member(unsigned long n) {
    return (n & 1 ? -1.0 : 1.0) / (square((double)n) + 1.0);
}
 
double sum1(unsigned long n) {
    double result = 0.0;
    for (unsigned long i = 1; i <= n; i++) {
        result += member(i);
    }
    return result;
}
 
double sum2(double eps) {
    double result = 0.0;
    double m;
    for (unsigned long i = 1; (m = member(i)) >= eps; i++) {
        result += m;
    }
    return result;
}

Объяснение кода листинга программы

  1. В функции square(x) происходит вычисление квадрата числа x.
  2. В функции member(n) происходит вычисление значения функции для данного числа n.
  3. В функции sum1(n) происходит вычисление суммы первых n значений функции member(i).
  4. В функции sum2(eps) происходит вычисление суммы значений функции member(i), пока значение функции member(i) больше или равно eps.

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


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

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

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