Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 13.11.2020
Сообщений: 3
1

Составить функцию, которая вычисляет функцию синус как сумму ряда (с точностью 0.001)

13.11.2020, 21:35. Показов 6067. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Проблемы с задачкой - Составить функцию, которая вычисляет функцию синус как сумму ряда (с точностью 0.001). Функция - sin(x) = x - x^3/3! + x^5/5! - x^7/7! + K .
Пример:
Введите угол в градусах:
45
sin(45) = 0.707

Я попытался что то сделать, но у меня не вышло, вот код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
 
main (){
setlocale (LC_ALL , "Russian");
double g,s;
double sn(double g);
const int e=0.001;
double x,a;
int n;
x=g*3.141592653/180; 
a = x;
s = a;
n = 0;
while (abs(a)>e){
a=-a*x*x/(2*n+2)/(2*n+3);
s=s+a;
n=n+1;  
}
sn=s;
printf("Введите угол (в градусах):\n");
scanf("%d",&g);
s=sn(g);
printf("sin=%f",s);
getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2020, 21:35
Ответы с готовыми решениями:

Необходимо составить функцию на VBA, которая вычисляет сумму S=1-2^2+3^2-.-12^2
Помогите плз составить функцию, которая вычисляет сумму S=1-2^2+3^2-...-12^2

Составить рекурсивную функцию, которая вычисляет функцию Аккермана по формуле
Составить рекурсивную функцию, которая вычисляет функцию Аккермана по формуле A(n,m)= m+1, (если...

Составить рекурсивную функцию, которая вычисляет сумму элементов массива, стоящих на нечетных позициях
Составить рекурсивную функцию, которая вычисляет сумму элементов массива, стоящих на нечетных...

Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001.
Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной...

2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
13.11.2020, 22:57 2
Цитата Сообщение от Acoustics Посмотреть сообщение
но у меня не вышло,
Что не вышло, КАК не вышло?
0
2456 / 1061 / 481
Регистрация: 17.11.2018
Сообщений: 2,740
14.11.2020, 03:53 3
Лучший ответ Сообщение было отмечено Acoustics как решение

Решение

Цитата Сообщение от Acoustics Посмотреть сообщение
Я попытался что то сделать, но у меня не вышло
Acoustics, ну, хотя бы так, уже хорошо. Хоть что-то. Хотя видно, что это попытка передрать код с какого-то паскалеобразного языка, даже функцию sn умудрился втюхать в main, в 9 строке.
На Си так делать нельзя. Ну, хотя бы, как-то так нужно было сделать:
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double sn( double g )
{
    const int e = 0.001;
    int n;
    double x, a, s;
 
    x = g * M_PI / 180;
    a = x;
    s = a;
    n = 0;
 
    while( fabs( a ) > e )
    {
        a = -a * x * x / ( 2 * n + 2 ) / ( 2 * n + 3 );
        s = s + a;
        n = n + 1;
    }
 
    return s;
}
Но на Си пишут немного иначе. Например, так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define eps 1e-3
double Sin( double x )
{
    double an, sum;
    
    sum = an = x *= ( M_PI / 180. );
    for( size_t n = 0; fabs( an ) > eps; n++ )
    {
        an  *= -x * x / ( 2 * n + 2 ) / ( 2 * n + 3 );
        sum += an;
    }
    return sum;
}
 
int main()
{
    double grade;
 
    printf( "Enter the angle (in degrees): " );
    if( scanf( "%lf", &grade ) != 1 )   return 1;
 
    printf( "Sin(%g) = %.3g\n", grade, Sin( grade ) );
    printf( "sin(%g) = %.3g\n", grade, sin( grade * M_PI / 180 ) );
 
    return 0;
}
2
14.11.2020, 03:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2020, 03:53
Помогаю со студенческими работами здесь

Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001.
Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной...

Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел путем многократного добавления числа 1
Условие: Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел...

Напишите программу, которая вычисляет сумму ряда 1—1/3+1/5—1/7+1/9 +… с заданной точностью
Язык С. Надо решить с помощью while.

Вычислить функцию, заданную как сумму ряда с заданной точностью
Подскажите пожалуйста, где ошибки? #include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; ...

Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001. Значение переменной x вводить с клави
Ребят курсач в пятницу а как делать хз( Помогите плз написать прогу и блок-схему к нему.Заранее...

Написать программу, которая вычисляет значение e^2 с точностью до 0,001
Помогите решить такое задание: 1. Написать программу, которая вычисляет значение e2(здесь квадрат)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru