Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программа вычисления значений функции y= sin(x) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблема в задаче,подскажите. http://www.cyberforum.ru/cpp-beginners/thread448785.html
Всем привет,в общем,задание: В целочисленном массиве из n элементов найти наиболее длинную цепочку одинаковых подряд стоящих элементов.Но обращение к элементам нужно сделать через указатели.Проблема...
C++ В классе создать ссылку на список У меня есть список: struct queue // описание списка { int pnum; // количество протонов char name; // имя элемента queue *next; ... http://www.cyberforum.ru/cpp-beginners/thread448776.html
C++ использования операторов
Всем привет, нужна помощь, буду очень благодарен. 1.(использования оператора switch) По заданному числовому коду учебной группы, введенного с клавиатуры, вывести на экран количество студентов в...
Вычисление суммы квадратов чисел от 1 до 20 C++
Всем привет, нужна помощь, буду очень благодарен. 1.(использования оператора switch) По заданному числовому коду учебной группы, введенного с клавиатуры, вывести на экран количество студентов в...
C++ Сумма элементов массива в восьмеричном представлении [C++] http://www.cyberforum.ru/cpp-beginners/thread448766.html
Помогите пожайлуста написать программу: Дан массив целых чисел. Вычислить сумму элементов, у которых в 8-ричном представлении отсутствует цифра 7
C++ Программа обработки текстового файла Помогите написать программу на Си! Дано: Текстовый файл inString.txt содержит список (столбец) слов русского языка - имён существительных, все слова в нём разные. Требуется: Создать M файлов... подробнее

Показать сообщение отдельно
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
19.02.2012, 16:01
Я думаю имелось ввиду что то вроде этого.
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
29
30
31
#include <iostream>
#include <cstdlib>
#include <cmath>
 
long double fact( const unsigned int a ) {
    long double temp = 1;
 
    for ( unsigned int i = 2; i <= a; i++ )
    temp *= i;
 
    return temp;
}
 
double fSinX( const double x, const unsigned int precision ) {
    double tmp = x;
 
    for ( unsigned int i = 3, n = 1; n < precision; i += 2, n++ )
    tmp += ( i % 2 ? -( std::pow( x, i ) / fact( i ) ) : ( std::pow( x, i ) / fact( i ) ));
 
    return tmp;
}
 
int main( int argc, char** argv ) {
 
    std::cout << fSinX( .5, 500 ) << std::endl; //своя функция
    std::cout << std::sin( .5 ) << std::endl; //библиотечная функция
 
    std::cout << std::endl;
    std::system( "pause" );
    return 0;
}
PS: на функцию не обращайте внимания, можно ее и проще сделать, без факториала думаю, забыл уже все. Но суть в том что бы передавать в функцию значение X и собственно нужную точность. А потом просто сравнить свою функцию с библиотечной ( из cmath ).

Добавлено через 16 минут
Вот так думаю лучше будет.
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
29
30
31
#include <iostream>
#include <cstdlib>
#include <cmath>
 
long double fact( const unsigned int a ) {
    long double temp = 1;
 
    for ( unsigned int i = 2; i <= a; i++ )
    temp *= i;
 
    return temp;
}
 
double fSinX( const double x, const unsigned int precision ) {
    double tmp = 0;
 
    for ( unsigned int n = 0; n < precision; n++ )
    tmp += ( std::pow( -1., n ) / fact( 2 * n + 1 )) * std::pow( x, 2 * n + 1 );
 
    return tmp;
}
 
int main( int argc, char** argv ) {
 
    std::cout << fSinX( 2, 500 ) << std::endl; //своя функция
    std::cout << std::sin( 2 ) << std::endl; //библиотечная функция
 
    std::cout << std::endl;
    std::system( "pause" );
    return 0;
}
http://liveworkspace.org/code/2b910322d2f90d36daea9817901f9755
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru