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

Схема горнера - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 61, средняя оценка - 4.75
Best-pm07
..:::BesT:::..
 Аватар для Best-pm07
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
21.03.2010, 14:06     Схема горнера #1
Эта схема основывается на следующем представлении многочлена:
p(x) = (( ... ((an*x + an-1)x + an-2)x + ... + a2)x + a1)x + a0

C++
1
2
3
4
5
6
7
8
HornersMethod(x)
x       точка, в которой вычисляется значение многочлена
 
for i = n - 1 down to 0 do
    result = result*x
    result = result + a[i]
end for
return result
Может ли кто-нибудь дописать этот код (алгоритм) до цельности программы
Благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2010, 14:06     Схема горнера
Посмотрите здесь:

C++ Рекурсия. Схема Горнера.
Схема Горнера C++
C++ Рассчитать значение переменной по схеме Горнера
C++ Схема Горнера
C++ схема Горнера (помогите с курс. работой)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Best-pm07
..:::BesT:::..
 Аватар для Best-pm07
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
22.03.2010, 21:29  [ТС]     Схема горнера #2
вообще, мне нужна просто рабочая программа относящаяся к схеме Горнера (метод Горнера)
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
23.03.2010, 00:34     Схема горнера #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
double f(const double x,int a[],const int i,const int max)
{
    if (i+1 < max)return f(x,a,i+1,max)*x + a[i];
    else return a[max]*x + a[i];
}
int main()
{
    int n=4;  //размер a[]
    int a[]={1,2,3,4};
    double x=2;
    //((4*2+3)*2+2)*2+1 == 49
    cout << f(x,a,0,n-1);
    return 0;
}
Best-pm07
..:::BesT:::..
 Аватар для Best-pm07
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
25.03.2010, 00:07  [ТС]     Схема горнера #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
double f(const double x,int a[],const int i,const int max)
{
     if (i+1 < max)return f(x,a,i+1,max)*x + a[i];
     else return a[max]*x + a[i];
}
int main()
{
     int n, i;
     int a[100];
     double x;
cout<<"Введите кол-во элементов N: ";
cin>>n;
cout<<"Введите переменную X: ";
cin>>x;
cout<<"Введите ["<<n<<"] элементов: ";
for(i=0;i<n;i++){
cin>>a[i];}
     cout << f(x,a,0,n-1);
     return 0;
}
Переписал немного программу (под себя, делаю для курсовой)
Вот в чем вопрос: эта программа вычисляет только значение многочлена? (плохо ещё разобрался в методе Горнера)
И как я ТУТ прочитал, что "Метод Горнера позволяет найти корни многочлена, а также вычислить производные полинома в заданной точке"
Но вот я не думаю, что программа выполняет и это...

Помогите дополнить эту программу для таких операций:
- найти корни многочлена
- вычислить производные полинома в заданной точке
Best-pm07
..:::BesT:::..
 Аватар для Best-pm07
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
25.03.2010, 18:40  [ТС]     Схема горнера #5
Вроде как понял, эта программа вычисляет остаток от деления многочлена
я вот, что попрошу ещё:
как в этой программе сделать так, чтобы она выводила ещё и частное от деления?
помогите, кто чем может...
Yandex
Объявления
25.03.2010, 18:40     Схема горнера
Ответ Создать тему
Опции темы

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