ВУЗ:
Составители:
Рубрика:
62
n
nn
xCxCxCCxP
2
210
)(
по его коэффициентам C
i
. Для эффективного вычисления многочлена
используем так называемую схему Горнера (которую на самом деле за
100 лет до Горнера описал Ньютон). Эта схема состоит в том, что мно-
гочлен переписывается в следующей форме:
1 1 0
( ) (...((0 ) ) )
n n n
P x x C x C x C x C
.
При таком порядке вычислений для получения значения P
n
(x)
требуется лишь n умножений и n сложений.
Коэффициенты многочленов будем хранить в массиве с.
Для вычисления многочленов (1) напишем программу, в которой
схема Горнера реализована в функции pol().
#include <iostream.h>
const n = 10;
double pol (int n, double c[ ], double x){
double p=0;
for (int i = n; i >= 0; i – –) p = p*x + c[i];
return p;}
void main(){
double x=0.6, p, c[n] = {1, 0, 2, 4};
p=pol(3, c, x);
cout<<”x= ”<<x<<” Polynom = ”<<p<<’\n’;
c[0]=7;
c[1]=c[2]=c[3]=c[4]=c[5]=1;
p=pol(5, c, x);
cout<<”x= ”<<x<<” Polynom = ”<<p<<’\n’;
c[0]=2; c[2]=1; c[5]=1; c[6]=3; c[7]=2; c[9]=1;
c[1]=[3]=c[4]=c[8]=0;
cout<<”x= ”<<x<<” Polynom = ”<<pol(9, c, x)<<’\n’;
}
16.3. Передача многомерных массивов
Если функции передаётся двумерный массив, то описание соот-
ветствующего аргумента функции должно содержать количество столб-
цов; количество строк – несущественно, поскольку фактически переда-
ётся указатель.
Рассмотрим пример функции, перемножающей матрицы А и В;
результат – С.
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »
