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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_Evg1
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
#1

Построить рекурсию данного выражения 3x+xsinx и сравнить результаты - C++

11.03.2014, 14:35. Просмотров 258. Ответов 6
Метки нет (Все метки)

Доброго времени суток! Условие нужно построить рекурсию данного выражения 3x+xsinx и сравнить р-таты
с помощью библиотечных функций и ф-ии написаны в ручную разложенную в ряд. Вот что вышло, не могу понять в чем ошибка но ф-я не считает( За ранее спасибо!
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <vcl.h>
#pragma hdrstop
double s(double y, int n, int k=1)
{
        int x;
        y=x*x;
        if(k==n)
        return(1+(pow((-1),k))*s(y,n,k+1));
}
int nn(double y,double e)
{
        int t;
        int x;
        int count=1;
        y=x*x;
        do
        {
 
                t = pow(1,count)*y/(2+count*(2*count+1));
                count++;
        }
        while (t>e);
        return count;
 
}
#pragma argsused
void main()
{
        double r;
        double x,y;
        double e;
        e=0,00001;
        double n;
        cout<<"Enter x: ";
        cin>>x;
        y=x*x;
        n=nn(y,e);
        cout<<" n= "<<n<<endl;
        cout<<3*x+x*sin(x)<<n<<endl;
        cout<<3*x+x*s(y,n)<<n<<endl;
        getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 14:35     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты
Посмотрите здесь:

построить рекурсию для вычисления элементов последовательности - C++
Помогите построить рекурсию для вычисления элементов последовательности на с++ : a(1) = 1 a(n) = n-a(a(n-1)) , n&gt;1 Заранее очень...

Регулярные выражения: почему результаты поиска не заносятся в массив? - C++
Всем привет. Подскажите, пожалуйста, что здесь не так? При запуске, на консоли только переходы на новую строку отображаются, а результаты...

Разработайте программу, которая вычисляет заданные выражения. Результаты объясните с комментариями - C++
#include&lt;stdio.h&gt; #include&lt;iostream&gt; #include &lt;stdlib.h&gt; int main() {int a1=3, a2=2, b1, b2, b3; a2+=a1; // a2=3+2=5 a2+=a1+5;...

Объясните значение данного выражения - C++
while (day &gt; days) { day -= days;

Вычислить значение данного выражения - C++
Дан текст, имеющий вид: d1-d2+d3-..., где di-цифры. Вычислить значение данного выражения

Вычислить значение выражения и сравнить с ожидаемым значением - C++
В этой задачи надо проверить правильность формулы Это main.cpp #include &quot;Equation.h&quot; #include &lt;iostream&gt; int main()...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.03.2014, 14:42     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #2
Цитата Сообщение от _Evg1 Посмотреть сообщение
e=0,00001;
десятичный разделитель точка, а не запятая.
_Evg1
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
11.03.2014, 14:50  [ТС]     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #3
Нет, ни чего не изменилось по прежнему выводит "-nan2" не знаю что ето
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
11.03.2014, 15:01     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #4
Смысл возводить 1 в степень?
C++
1
                t = pow(1,count)*y/(2+count*(2*count+1));
Да и вообще это выражение написанно не верно. Разложите синус в ряд заново так как у вас закралась ошибка.
_Evg1
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
11.03.2014, 21:33  [ТС]     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #5
Разложенная функция будет выглядеть вот так f(x) = 3x+x(x(1+((-1)^n*x^2)/(2n(2n+1))) ну и дальше пытаюсь подсчитать (1+((-1)^n*x^2)/(2n(2n+1)) и как то дальше етим пользоваться, не знаю ну вроде верно.

Добавлено через 6 часов 6 минут
Народ, вроде как решил все проблемы но все же числа отличаются в сотых посоветуйте что может быть и где выскакивает не точность
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
48
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
double s(double y, int n, int k=1)
{
 
        if(k==n)
        return(1.0+(pow((-1.0),k))*(y/(2*k*(2*k+1))));
        else return(1.0+pow((-1.0),k)*(y/(2*k*(2*k+1)))*s(y,n,k+1));
}
int nn(double y,double e)
{
        int t=1;
        int count=1;
        do
        {
 
                t = t*(y/count);
                count++;
        }
        while (fabs(t)>e);
        return count;
 
}
#pragma argsused
void main()
{
        double r;
        int x,y;
        double e;
        e=0.00001;
        int n;
        cout<<"Enter x: ";
        cin>>x;
        y=x*x;
       // n=nn(x,e);
       n=22;
        cout<<" n= "<<n<<endl;
        cout<<3*x+x*sin(x)<<endl;
        cout<<3*x+x*s(y,n)<<endl;
        getch();
}
//---------------------------------------------------------------------------
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
12.03.2014, 13:23     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #6
Точность нужно оценивать по формуле Тейлора с остаточным членом в форме Лагранжа. Другими словами нужно оценить значение первого из отброшенных членов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 00:35     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты
Еще ссылки по теме:

Построить двусвязный список из данного - C++
Разработать программу, которая создает список, элементами которого являются действительные числа r1,r2...rn. Строит список, элементами...

Составить программу вычисления данного выражения - C++
Cоставить программу вычисления данного выражения: где min(a,b)- функция нахождения меньшего из двух чисел.

Лексема,Синтаксис и Семантика данного выражения. - C++
помогите разобрать данное выражение. int * m = new int что каждое из них означает,что означает int, * , m , = , new , int , нужно...

Сравнить два введенных числа, не используя логические выражения - C++
Здравствуйте ! Дали задачу, не знаю как сделать не используя условия, прошу помощи в решении: Даны числа X и Y, если X в 2 раза больше Y...


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

Или воспользуйтесь поиском по форуму:
_Evg1
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
13.03.2014, 00:35  [ТС]     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты #7
Проблема в том что подсчет итераций неверен скорее всего но я не могу написать функцию для подсчета n как не пытался, вроде как все перепробовал, а толку 0. Помогите если не составит труда
Yandex
Объявления
13.03.2014, 00:35     Построить рекурсию данного выражения 3x+xsinx и сравнить результаты
Ответ Создать тему
Опции темы

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