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

Рекурсия. Схема Горнера. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 5.00
Гамбит
13 / 13 / 1
Регистрация: 19.10.2009
Сообщений: 93
07.06.2010, 22:55     Рекурсия. Схема Горнера. #1
Вот собственно задача. Я вообще не понимаю как её решать=(

Вычислить по формуле Горнера значение многочлена a0xn +
+ a1xn-1 +…+ an-1x + an в заданной точке x0.

При решении нужно использовать рекурсию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2010, 22:55     Рекурсия. Схема Горнера.
Посмотрите здесь:

Схема горнера C++
Схема Горнера C++
C++ Рассчитать значение переменной по схеме Горнера
C++ Схема Горнера
C++ схема Горнера (помогите с курс. работой)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гамбит
13 / 13 / 1
Регистрация: 19.10.2009
Сообщений: 93
09.06.2010, 10:39  [ТС]     Рекурсия. Схема Горнера. #2
неужели никто не знает?
Legend-muay
50 / 50 / 4
Регистрация: 10.03.2010
Сообщений: 165
09.06.2010, 14:24     Рекурсия. Схема Горнера. #3
Посмотри здесь http://ru.wikipedia.org/wiki/%D0%A1%...B5%D1%80%D0%B0 Там даже код есть...
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,667
09.06.2010, 21:12     Рекурсия. Схема Горнера. #4
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
//Вычислить по формуле Горнера значение многочлена 
//a0*xn + a1*x(n-1) +…+ a(n-1)*x + an в заданной точке x0.
//При решении нужно использовать рекурсию.
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
 
typedef std::vector<double> T_nabor_coef;
 
void input_coef(double& coef)
{
    std::cout << "-> ";
    std::cin >> coef;
}
 
double gorner(T_nabor_coef  nabor_coef, double x)
{
    double a = nabor_coef.back();
    nabor_coef.pop_back();
    return nabor_coef.empty() ? a : a + x * gorner(nabor_coef, x); 
}
 
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {        
        int n; 
        do
        {
            std::cout << "Введите количество коэффициентов многочлена: ";                   
            std::cin >> n;         
        }while(n <= 0);
 
        T_nabor_coef  nabor_coef(n);
 
        std::cout << std::endl
                  << "Введите "
                  << n
                  << " коэффициентов многочлена, "
                  << "начиная со старшей степени x: "
                  << std::endl;
        
        std::for_each(nabor_coef.begin(), nabor_coef.end(), input_coef);
 
        for(;;)
        {
            std::cout << "Введите значение x: ";
            double x;
            if(!(std::cin >> x)) return 1;
 
            std::cout << "Ответ: "
                      << gorner(nabor_coef, x)                      
                      << std::endl
                      << std::endl;      
        }    
    }
    return 0; 
}
Гамбит
13 / 13 / 1
Регистрация: 19.10.2009
Сообщений: 93
18.06.2010, 23:27  [ТС]     Рекурсия. Схема Горнера. #5
О_О а попроще никак?
Yandex
Объявления
18.06.2010, 23:27     Рекурсия. Схема Горнера.
Ответ Создать тему
Опции темы

Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru