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

Посчитать ряд тейлора в точках - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, сколько посажено деревьев http://www.cyberforum.ru/cpp-beginners/thread707066.html
Учащиеся 8-х классов участвовали в посадке деревьев. 8-а посадил 100 деревьев, 8-б —122 дерева, 8-в — 98 деревьев, 8-г — 104 дерева, 8-д — 121 дерево. Определить, сколько посажено деревьев.Правила форума п. 5.18: Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
C++ что в коде не так? #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #include<algorithm> #include<vector> using namespace std; int main() { freopen("f", "r", stdin); http://www.cyberforum.ru/cpp-beginners/thread707055.html
C++ Множественнное наследование
Может ли производный класс наследовать не все поля базовых, а, например, по одному из каждого? (наследование типа треугольник)
Сортировка строк массива C++
На форуме есть множество тем о сортировке массивов, но конкретно под свое решение я способа не нашел. Нужна функция, которая сортирует матрицу размерностью m x n так, что строки в ней расположены в порядке возрастания сумм элементов этих строк. Пока что, я смог найти только сумму элементов строки: for (int i=0;i<m;i++) { float str=0; for (int j=0;j<n;j++) { str=str+mas;...
C++ Конструкторы и деструкторы. Определить оптимальный подбор банкнот для выдачи задаваемой суммы в рублях для банкомата http://www.cyberforum.ru/cpp-beginners/thread707038.html
Определить оптимальный подбор банкнот для выдачи задаваемой суммы в рублях для банкомата (купюры -1000, 5000, 10000, 20000, 50000). Использование конструкторов и деструкторов обязательно.(С++)
C++ тип float и вывод остатка через a % b Можно ли вывести остаток таким способом, если тип всех переменных FLOAT. ostatok = number % moneta; подробнее

Показать сообщение отдельно
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
24.11.2012, 23:04     Посчитать ряд тейлора в точках
Чтобы нормально скомпилировалось, я чуть подправил твой код
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
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{ 
    int k=1;
    double i=1, a1=0,an=0,d=0,s=0,e=0,a=0,b=0,n=0;
    cout<<"a = "; cin>>a;
    cout<<"b = "; cin>>b;
    cout<<"n = "; cin>>n;
    cout<<"e = "; cin>>e;
    b++; 
    d=(b-a)/n;
    cout<<setprecision(4); 
    for (i=a; i<=b-1; i+=d)
    { 
        a1=2.5*pow(i,2);
        while (fabs(an)>=e)
        { 
            an=a1*(pow(a1,2)/((2*k)*(2*k+1)))*(-1);
            a1=an;  
            s+=an;
            k++;
        } 
        cout<<"x="<<i<<" s="<<s<<endl; 
    } 
    system ("pause");
    return 0;
}

выводит s=0; Проблема вот в чем, он не разу не зашел в while, потому что считает постоянно fabs(an), а an=0 и нигде не инициализируется

Добавлено через 3 минуты
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<math.h>
#include<iomanip>
using namespace std;
int main()
{ 
    int k=1;
    double i=1, a1=0,an=0,d=0,s=0,e=0,a=0,b=0,n=0;
    cout<<"a = "; cin>>a;
    cout<<"b = "; cin>>b;
    cout<<"n = "; cin>>n;
    cout<<"e = "; cin>>e;
    b++; 
    d=(b-a)/n;
    cout<<setprecision(4); 
    for (i=a; i<=b-1; i+=d)
    { 
        a1=2.5*pow(i,2);
        an=a1*(pow(a1,2)/((2*k)*(2*k+1)))*(-1);
        while (fabs(an)>e)
        { 
            an=a1*(pow(a1,2)/((2*k)*(2*k+1)))*(-1);
            a1=an;  
            s+=an;
            k++;
        } 
        cout<<"x="<<i<<" s="<<s<<endl; 
    } 
    system ("pause");
    return 0;
}

Работает, выводит сумму, правда я не проверял правильность ряда)) это уже смотри сам
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru