Реализации алгоритмов/Интерполяция/Многочлен Лагранжа: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1:
== C++ ==
<source lang="c++">
#include <iostream>
using namespace std;
 
double laja(double x,int j,double *xar,int n)
{
double resultat=1;
for(int i=0;i<n;i++){
resultat*=(i!=j)?(x-i[xar])/(j[xar]-i[xar]):1;
}
return resultat;
 
}
 
 
double Polinom_Lagranzha (int n,double *xui, double *yui, double x)
{
double resultat;
for(int j=0;j<n;j++){
resultat+=j[yui]*laja(x,j,xui,n);
}
return resultat;
}
 
 
int main(void){
int dlina=4;
double massiv_X[] = {3,4,8};
double mossiv_Y[] = {5,6,8};
double x=5;
double resultat;
resultat = Polinom_Lagranzha(dlina,massiv_X,mossiv_Y, x);
cout<<"Polinom_Lagranzha("<<x<<") = "<<resultat<<endl;
}
 
</source>
 
== Паскаль ==
<source lang="pascal">