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

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

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

Разработка рекурсивных алгоритмов для вычисления функции - C++

18.02.2014, 23:52. Просмотров 303. Ответов 5
Метки нет (Все метки)

Сразу к сути!!! Я должен сделать рекурсию функции y=x+3-e^-x. Что то y2 не выводит, ошибок нету!
Вот код программы:
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
49
//---------------------------------------------------------------------------
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
#pragma argsused
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int f1(double x, double eps)
  {
   int k = 1;
   double c = 1;
   do
   {
      c =c*x;
      k++;
    }
    while (c/k>eps);       //возможно ошибка здесь или в цыкле 
    return k;
  }
 
double f(double x, int n, int k=1)
{
   if(k==n)
    return (1.0-x/k);
   else
    return (1.0-x/k*f(x,n,k));       //возможно ошибка здесь 
}
 
int _tmain(int argc, _TCHAR* argv[])
{  cout<<"X= ";
   double x;
   cin>>x;
   int n=f1(x,0.00001);
   double y1=x+3-exp(-x);
   printf("%.8f\n",y1);
   int t1=time(NULL);
   double y2=x+3-f(x,n);
   int t2=time(NULL);
   printf("%.8f\n",y2);
   cout<<t2-t1<<"\n";
   getch();
   return 0;
 
}
 
 
//---------------------------------------------------------------------------
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 23:52     Разработка рекурсивных алгоритмов для вычисления функции
Посмотрите здесь:

Рекурсивные алгоритмы. Примеры рекурсивных алгоритмов - C++
Пом-гите решить, заранее благодарен.)) Билет 10 1 Рекурсивные алгоритмы. Примеры рекурсивных алгоритмов. 2 Решить задачу: ...

Изменить программу под тему: Разработка алгоритмов содержащих функции - C++
#include &lt;string&gt; #include &lt;locale.h&gt; #include &lt;iostream&gt; using namespace std; int f(double r1, double r2, string type) { ...

Разработка параллельных алгоритмов для решения СЛАУ - C++
Пишу курсовую на тему &quot;Разработка параллельных алгоритмов для решения СЛАУ&quot; У кого-нибудь есть что либо &quot;работающее&quot; по этой теме...

Составить блок-схему, алгоритм вычисления и программу для вычисления значения кусочно заданной функции - C++
помогите пожалуйста =) заранее благодарен =) П.5.19.Правил Запрещено создавать темы в виде ссылок на задания или коды программ,...

Разработка алгоритмов ветвления - C++
Разработка алгоритмов ветвления. Вот сам код: #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double...

Разработка программы для вычисления объема геометрических фигур; вычисление результата 'непростой' формулы - C++
Доброго вам времени суток, господа. Прошу помощи в написании пары легких программок на языке СИ. Задания таковы: Составить...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Eldies
90 / 81 / 28
Регистрация: 06.02.2014
Сообщений: 120
19.02.2014, 00:36     Разработка рекурсивных алгоритмов для вычисления функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
строчка 16
C++
1
c =c*x/k;
строчка 28
C++
1
return (1.0-x/k*f(x,n,k+1));
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
19.02.2014, 01:02     Разработка рекурсивных алгоритмов для вычисления функции #3
Зачем тут рекурсия? Ты степень экспоненты рекурсивно пытаешься посчитать что ли?
Yark0s
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 37
19.02.2014, 01:57  [ТС]     Разработка рекурсивных алгоритмов для вычисления функции #4
А про комментировать можешь???

Добавлено через 52 секунды
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Зачем тут рекурсия? Ты степень экспоненты рекурсивно пытаешься посчитать что ли?
Это что бы понять как считает машина!
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
19.02.2014, 02:49     Разработка рекурсивных алгоритмов для вычисления функции #5
Зачем тут рекурсия? Ты степень экспоненты рекурсивно пытаешься посчитать что ли?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 09:37     Разработка рекурсивных алгоритмов для вычисления функции
Еще ссылки по теме:

Разработка и отладка алгоритмов и программ - C++
Есть задание лабы: Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как...

Разработка и отладка циклических алгоритмов и программ - C++
Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде...

Разработка и отладка циклических алгоритмов и программ - C++
Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде...

Разработка алгоритмов поиска в массивов [Задача] - C++
Всем привет. Кто поможет написать задачку? Дано натуральное число n. Выяснить, сколько положительных элементов содержит массив А...

Разработка и отладка алгоритмов и программ с использованием указателей. - C++
Две обьёмные задачи , прошу помощи товарисчи , кому несложно решите за меня плз ..заранее примного благодарен . 1.В одномерном...

Разработка и отладка алгоритмов и программ с использованием указателей - C++
Задача 1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) максимальный по модулю элемент массива; 2) сумму...


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

Или воспользуйтесь поиском по форуму:
Eldies
90 / 81 / 28
Регистрация: 06.02.2014
Сообщений: 120
19.02.2014, 09:37     Разработка рекурсивных алгоритмов для вычисления функции #6
Здесь считается http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{-x} рекурсивно с помощью разложения в ряд Маклорена.

C++
1
int f1(double x, double eps)
эта функция рассчитывает необходимое число членов ряда, путем сравнения очередного члена ряда с eps.
http://www.cyberforum.ru/cgi-bin/latex.cgi?c_k = \frac{x^k}{k!} =  \frac{x}{k}\cdot  c_{k-1}


C++
1
double f(double x, int n, int k=1)
эта функция считает http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{-x}, как сумму первых n членов ряда Маклорена.

C++
1
return (1.0-x/k*f(x,n,k));
не работает, потому что вызов функцией самой себя с теми же самыми параметрами - никогда не заканчивающаяся рекурсия
Yandex
Объявления
19.02.2014, 09:37     Разработка рекурсивных алгоритмов для вычисления функции
Ответ Создать тему
Опции темы

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