• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

Си. Функции. Помогите написать код

  • Автор темы Автор темы Samyrro
  • Дата начала Дата начала
S

Samyrro

Написать функцию вычисления суммы ряда y=sinx-(sin2x)/2+…+((-1)^n+1)*sin(nx)/n с точностью до eps=0.001. В качестве параметров передать x (в радианах) и eps.
[doublepost=1509062568,1509048419][/doublepost]Вот, думаю всё верно, на калькуляторе сверил результаты многократно - всё верно
Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define PI 3.14159265
int main()
{
double x = 0, eps = 0, result = 0, my_funct(double, double);
printf("X ( grad ) = ");
scanf ("%lf", &x);
x = x * (PI / 180.0); // Переводим градусы в радианы
printf("eps = ");
scanf ("%lf", &eps);
result = my_funct(x, eps);
/*Вычисление суммы ряда с определенной точностью ε означает,
 что сумма ряда вычисляется до тех пор, пока модуль разности
 между текущим и предыдущим членом последовательности больше eps.
 */
printf("\nSumma = %lf", result);
getch();
}
double my_funct(double x, double eps)
{
double current = 0, previous = 0, sum = 0;
int n = 1;
current = pow(-1, n+1) * (sin(n*x))/n;
do
    {
        n++;
        previous = current;
        current = pow(-1, n+1) * (sin(n*x))/n;
        sum += current;
    } while (fabs(current - previous) > eps);

return sum;
}
 
Мне кажется или в посте присутствует и вопрос и ответ на вопрос?
 
  • Нравится
Реакции: IioS
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab