Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В зависимости от характера ветра выдать сообщение о его скорости Написать программу, которая в зависимости от характера ветка выдаёт сообщение о его скорости от 1 до 4 м/с - слабый (1); от 5-10 м/с - умеренный (2); от 9-18м/с - сильный (3); больше 19 м/с -... https://www.cyberforum.ru/ cpp-beginners/ thread2223364.html В матрице поменять местами максимальный и минимальный из отрицательных элементы C++
В заданной матрице A поменять местами следующие два элемента: Минимальный и максимальный среди отрицательных. Спасибо заранее ;) Добавлено через 1 час 49 минут Help me ;( Добавлено через...
C++ Посоветуйте книжку по алгоритмам для начинающего програмиста https://www.cyberforum.ru/ cpp-beginners/ thread2223343.html
Здраствуйте. Вопрос к опытным воинам С++) Знаю что для того чтобы стать хорошим програмистом надо почитать книжки по алгоритмам. Вопрос: посоветуйте пожалуйста книжку для начинающего програмиста )...
C++ Определить количество строк матрицы не содержащих ни одного нулевого элемента https://www.cyberforum.ru/ cpp-beginners/ thread2223339.html
Дано целочисленную прямоугольную матрицу. Определите: 1). Количество строк, не содержащих ни одного нулевого элемента 2). Максимальное из чисел, встречается в заданной матрицы более одного раза....
C++ Не работает system("msg")
Может кто сталкивался, у меня из программы не работает system("msg * \"test\""); В консоли пишет (если вкратце): "msg не является командой", когда ту же строчку пишу ручками в консоли, всё...
C++ Сортировка по итераторам проигрывает сортировке по индексам Есть перегруженная сортировка. Первая реализация принимает контейнер. Вторая реализация принимает итераторы и предикат. Проблема в том, что при тестах первая реализация оказывается быстрее в 5... https://www.cyberforum.ru/ cpp-beginners/ thread2223310.html
C++ Игра Крестики Нолики https://www.cyberforum.ru/ cpp-beginners/ thread2223289.html
Здравствуйте, Уважаемые Пользователи и Программисты КиберФорума! Будьте добры помочь мне с написанием программы) Задача: Написать игру Крестики нолики, причем должно быть 2 игрока и 1 из них...
В строке нужно подсчитать сколько раз встречается каждое слово C++
Здравствуйте! Задача такая: в строке нужно подсчитать сколько раз встречается каждое слово. К примеру, строка: «one two three». Результат: one встречается один раз two встречается один раз ...
C++ Метод простой итерации Добрый день! Пожалуйста, подскажите в чем может быть ошибка 2D уравнение Бюргерса ∂u/∂t+u ∂u/∂x+v ∂u/∂y=1/Re((∂^2 u)/(∂x^2 )+(∂^2 u)/(∂y^2 )) ∂v/∂t+u ∂v/∂x+v... https://www.cyberforum.ru/ cpp-beginners/ thread2223280.html C++ Написать программу для решения уравнения https://www.cyberforum.ru/ cpp-beginners/ thread2223275.html
Нужно решить уравнение |x+a|=c–|x+b|. Вроде есть идея, но не уверен в правильности: #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() {
C++ Поменять местами максимальный и последний нулевой элемент матрицы
Здравствуйте. Попалась вот такая задачка Задан массив А. Поменять местами максимальный и ПОСЛЕДНИЙ нулевой элемент. Как это можно осуществить? Вот начальный код. #include <iostream>...
C++ Написать программу, которая выводит на экран ваш адрес 10 раз https://www.cyberforum.ru/ cpp-beginners/ thread2223273.html
Написать программу, которая выводит на экран ваш адрес 10 раз
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 3
0

Рекурсия - C++ - Ответ 12279157

04.04.2018, 17:55. Показов 836. Ответов 1
Метки (Все метки)

Помогите. Не могу понять в чем проблема.
Вот Задание :
В каждом варианте задания дана математическая функция и результат её разложения в ряд. Подобрать значения начального и конечного значения х, а также шага его изменения исходя из области определения математической функции и области сходимости ряда. Результатом работы программы должна быть таблица, состоящая из столбцов. В первом должны находится значения аргумента, во втором – значение функции в данной точке х, в третьем – сумма значений ряда (без применения рекурсии), в четвертом - сумма значений ряда (с применением рекурсии), в пятом – количество вызовов рекурсивной функции. При построении таблицы необходимо использовать указатели на функции. Завершать процесс суммирования членов ряда необходимо до момента когда разница между значением математической функции и суммой членов её разложения меньше эпсилон (вводится с клавиатуры).
При наборе заданий возможны ошибки. В таких случаях производить вычисления до момента, когда n – ый член последовательности меньше эпсилон, или просто ограничить значение n.
In(1+x)=x-x^2/2+x^3/3-…+(-1)^(n-1) x^n/n+⋯,xϵ[-1;1]


Вот код:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#define _USE_MATH_DEFINES
#include<iostream>
#include<cmath>
#include<iomanip>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
 
 
typedef double (*s1)(double, int, int, double, double, int& );
typedef double (*s2)(double,double);
double rez(s1 factorial, s2 sum, double xn, double r, double x);
double factorial(double xn, int i, int fact, double r, double sum, int& j);
double sum(double xn, double r);
 
 
 
int main()
{   
    double xn=-1.0,xk=1.0,shx;
    float x=0.1;
    double r=0.0001;
    setlocale(LC_ALL, "Russian");
    
    cout << "[ " << xn << " ; " << xk << " ]" << " øàã - " << x << " ïîãðåøíîñòü Å = " << r << endl;
    cout << "_________________________________________________________________" << endl;
    cout << "|      x      |log(x+1)|  áåç ðåê. |   ñ ðåê.  |âûç.ô-è| " << endl;
    cout << "=================================================================" << endl;
    
    for(xn;xn<=xk;xn+=x)
    {   
 
        rez(factorial, sum, xn, r, x);
    
    }
    
 
    system("pause");
    return 0;
}
 
double factorial( double xn, int i, int fact, double r, double sum,int& j){
    
    sum = pow(xn, i)/xn;
    if (sum < r)
        return 0;
    
        int k = i, z = i;
    k++;
    z += 1;
    
    return sum +factorial(xn  , i + 1, fact * z * k, r, sum, ++j);
}
double sum(double xn, double r)
{
    int m , f=-1;
    double sum ,du;
 
    for (sum = 0., du = xn, m = 1 , f*=-1; fabs(du) > r; m++) {
        sum += du;
        
 
        du = (f*du *  xn) / m;
    }
    return sum;
 
}
double rez(s1 factorial, s2 sum, double xn, double r, double x)
{
    int qt = 0;
    double y = 0, k = 0;
 
    y = log(xn+1);
    
    
    
    cout << "|" << setw(13) << xn << "|" << setw(15) << y << "|" << setw(11) << sum(xn, r) << "|" << setw(11) << factorial(xn, 1, 1, r, 1, qt);
    cout << "|" << setw(7) << qt << "|" << endl;
    return 1;
    }


Вернуться к обсуждению:
Рекурсия C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2018, 17:55
Готовые ответы и решения:

Рекурсия. Рекурсия с мемоизацией
Добрый день. Задача такова: У нас есть массив для длины строки (пусть будет M=20). У нас есть некие...

Рекурсия
Не совсем разобрался с заданиями помогите!

Рекурсия
Привет, помогите пожалуйста надо вычислить рекурсивную функцию :...

рекурсия B c++
пожалуйста помогите,почему не работает? дело в рекурсии,функция func1 вызывается много раз.. ...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2018, 17:55

Рекурсия
Помогите с рекурсией

Рекурсия
Мне нужно что бы в рекурсии делал от большого на маленький. Вот сам код: #include &lt;iostream&gt; ...

Рекурсия
Привет. Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с...

Рекурсия
Кто знает как написать программу на C ++, которая рекурсивно генерирует следующий времена этой...

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