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

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

Войти
Регистрация
Восстановить пароль
 
dipic
2 / 2 / 0
Регистрация: 09.12.2010
Сообщений: 45
#1

Вычислить значение выражения рекурсивно - C++

14.12.2010, 16:58. Просмотров 725. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
Помогите решить подсчитать значение выражения с помощью рекурсии.

Вот в картинке сохранил то, что надо посчитать.
http://i071.***********/1012/5b/6480de56c930.jpg
(если нельзя открыто вставлять подобные ссылки, прошу извинения и на первый раз строго не судить, а просто рассказать как правильно это сделать, может у форума своя галерея)


Есть код, где я вычислял это интерационным методом:
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h> 
 
using namespace std;
 
void main ()
{
    setlocale(LC_ALL, "Russian");
    const int N = 10;
 
    float x,y,y0,n;
 
    cout<<"Введите x, n:"<<endl;
    cin>> x >> n;
 
    y=2;
 
    for (n=1; n<=N; ++n)
    {
        y *=pow(x, (2*n+1))/(2*n+1);
    }
    y0=log((1+x)/(1-x));
 
    cout<<"Результат интерактивных подсчетов:"<< setw(15) <<\
        setprecision(10) << y << endl;
    cout<<"Результат прямых подсчетов:" << setw(15) <<\
        setprecision(10) << y0 << endl;
}
Значения x, n - вводим с клавиатуры.

Добавлено через 22 часа 38 минут
Жду помощи )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2010, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить значение выражения рекурсивно (C++):

Вычислить значение выражения - C++
помогите сделать Перепишите задачу в тело сообщения!

Вычислить значение выражения - C++
Составить программу на языке С++ для обработки одномерных массивов с использованием указателей: 1. Ввести n элементов одномерного массива...

Вычислить значение выражения - C++
Даны действительные числа a, b и c. Определить функцию max (x, y) нахождение большего из двух чисел и вычислить

Вычислить значение выражения - C++
Как написать, помогите, пожалуйста!!! Весь день голову ломаю. Текст задачи надо переписывать!

Вычислить значение выражения - C++
Помогите перевести математическую функцию на язык программирования C++

Вычислить значение выражения - C++

3
dipic
2 / 2 / 0
Регистрация: 09.12.2010
Сообщений: 45
15.12.2010, 19:20  [ТС] #2
Помогите кто нить, плизЗ)
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,275
Записей в блоге: 2
Завершенные тесты: 1
15.12.2010, 20:07 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<cmath>
#include <iomanip>
using namespace std;
float func(float,int);
int main(){
    setlocale(LC_ALL, "Russian");
    float x;
    int n;
    cout<<"Введите x n:"<<endl;
    cin>> x >> n;
    cout<<"Результат: "<< setw(15) <<setprecision(10) << 2*func(x,n) << endl;
    return 0;    
}
float func(float x,int n){
    if(n==0)
        return x;
    float tmp=pow(x,(float)(2*n+1))/(float)(2*n+1);;
    return tmp+func(x,--n);
}
Добавлено через 8 минут
Цитата Сообщение от dipic Посмотреть сообщение
for (n=1; n<=N; ++n)
{
y *=pow(x, (2*n+1))/(2*n+1);
}
у вас тут не правильно, на 2 нужно умножать в самом конце, когда ряд посчитан, а вы каждый элемент умножаете на произведение всех предыдущих элементов.
должно быть где-то так:
C++
1
2
3
4
5
for (n=1; n<=N; ++n)
 {
 summa+=pow(x, (2*n+1))/(2*n+1);
 }
result=2*summa;
и зачем const int N = 10;, если n вводится пользователем?
1
dipic
2 / 2 / 0
Регистрация: 09.12.2010
Сообщений: 45
15.12.2010, 20:22  [ТС] #4
Kastaneda,
Огромнейшее спасибо!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2010, 20:22
Привет! Вот еще темы с ответами:

Вычислить значение выражения - C++
Помогите реализовать формулу:

Вычислить значение выражения - C++
Используя подпрограммы, для данных действительных чисел x, y. Вычислите: f(x,-2y,1.17)+f(2.2,x,x-y), где f(a,b,c) = 2a - b - sin c / 5 +...

Вычислить значение выражения - C++
Буду очень благодарен.

Вычислить значение выражения - C++
1) Вычислить значение выражения (3+a)/(a-4)^2 при а =1, 4, 7 …., 19 2) Даны действительные числа x,y,z Вычислить: min(x+y+z, x*y*z) ...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
15.12.2010, 20:22
Ответ Создать тему
Опции темы

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