Форум программистов, компьютерный форум CyberForum.ru

Вычисление sin(x)/x - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Методы доступный только конкретному классу http://www.cyberforum.ru/cpp-beginners/thread628608.html
Можно сделать так чтобы некоторые методы класса В были доступны только в пространстве методах класса А?
C++ Не работает getline() в классе Почему-то, если поставить char name; ... cin>>name;, то имя вводится, а если использовать string name; ... getline(cin, name); то операция ввода просто игнорируется и программа переходит к следующему пункту . Код : #include <iostream> #include <string> using namespace std; class Player http://www.cyberforum.ru/cpp-beginners/thread628474.html
C++ Создание линейки прокрутки
Здраствуйте :) Написал прогу но так получилось что окно слишком большое и для меньших экранов нужно изменять его размеры.У меня главное окно это диалоговое окно описаное в файле ресурсов и так как оно не реагирует на сообщение WM_PAINT (не имеет картинки тоолько кнопки, списки...) нужно создать такую линейку прокрутки чтобы элементы управления передвигались как это зделать?
C++ Вывод в цикле структуры (структура имеет много полей данных)
Приветствую ))) Подскажите пожалуйста, как бы вы решили данную проблему. Имеется структура данных. Она содержит 30 полей данных. Необходимо вывести содержимое структуры в текстовый файл. Просто обращение по имени поля слишком муторно. Возможно ли сделать обработку в цикле? Первое, что приходит в голову, это создание массива указателей на поля данных структуры. Но такое решение мне...
C++ Составить условие для завершения цикла http://www.cyberforum.ru/cpp-beginners/thread628403.html
Почему не работает цикл do-while на проверку '!='? Если проверку меняю на '==', то все работает. Подскажите, пожалуйста, а то я в недоумении! #include <iostream> using namespace std; /////////////////////////////////////////////// /////////////////////////////////////////////// int main() { char s;
C++ Разница в скорости выполнение программы C++ или C# И так здравствуйте,хотелось бы узнать почему в данном случае(то есть использование stl) c++ медленнее c# ,запускаю из релиза #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale> int main() подробнее

Показать сообщение отдельно
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656

Вычисление sin(x)/x - C++

25.07.2012, 16:14. Просмотров 816. Ответов 4
Метки (Все метки)

Доброго время суток. Написать программу вычисления sin(x)/x используя разложения в ряд:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{sin(x)}{x}=\sum_{0}^{infinity}\frac{{(-1)}^{n}*{x}^{2*n}}{(2*n+1)!}
Если не правильно, то поправьте меня для вывода рекуррентной формулы нужно взять отношение:

http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}=\sum_{0}^{infinity}\frac{{(-1)}^{n}*{x}^{2*n}}{(2*n+1)!}

http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n-1}=\sum_{0}^{infinity}\frac{{(-1)}^{(n-1)}*{x}^{2*(n-1)}}{(2*n-1)}

В итоге получается:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n}}{{a}_{(n-1)}}=\frac{\sum_{0}^{infinity}\frac{{(-1)}^{n}*{x}^{(2*n)}}{(2*n+1)!}}{\sum_{0}^{infinity}\frac{{(-1)}^{(n-1)}*{x}^{2*(n-1)}}{(2*n-1)!}}=\frac{(-1)*{x}^{2}}{2*n*(2*n+1)}
Тогда получается как для вычисления sin(x), это правильно????
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <cmath>
#include <iostream>
#include <cstdlib>
using namespace std;
 
double my_abs(double val)
{
    double ret = val;
    if(val < 0)
        ret *= -1;
    return ret;
}
 
double Taylor(double x, double e, long &n)
{
    double sum = 0;
    double an = 0;
    n = 1;
    do
    {
        sum += an;
        n   += 1;
        an *= (-1)*(x*x/(2.0*n*2*(n + 1)));
    }
    while(e <= my_abs(an));
    return sum;
    
}
 
int main()
{
    long n;
    double xn, xk, dx, e;
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    cout<<" e = ";cin>>e;
    cout<<"|  x  |  Sum  |   N   |\n";
    while(xn <= xk)
    {
        cout<<xn<<" | "<<Taylor(xn, e, n)<<" |  ";
        cout<<n<<endl;
        xn = xn + dx;
    }
    system("pause");
    return 0;
}
Проверьте пожалуйста правильность данного кода?!?!?!?! Заранее огромное спасибо!!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru