Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы 9_10 / INTER9
.CPP#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#define kolvo 11
double intNewt(double x);
double X[kolvo];
double Y[kolvo];
void main()
{
clrscr();
int i;
double x,y;
ifstream dannye("dano9.txt");
for(i=0;i<kolvo;i++)
{
dannye>>X[i];
dannye>>Y[i];
}
dannye.close();
cout<<"‚ўҐ¤ЁвҐ § 票Ґ x:"<<endl;
cout <<"x=";
cin>>x;
cout<<"€вҐаЇ®«пжЁ® п д®а¬г« Ќмов® :"<<endl;
y=intNewt(x);
cout<<"Y="<<setprecision(7)<<y<<endl;
getch();
}
double intNewt(double x)
//€вҐаЇ®«пжЁ®л© ¬®Ј®з«Ґ Ќмов® ¤«п Ґа ў®®вбв®пйЁе 㧫®ў ЁвҐаЇ®«пжЁЁ;
{
double a,b;
int i,j,k;
double f[kolvo-1][kolvo-1];
for(i=1; i<kolvo; i++)
f[i-1][0]=(Y[i]-Y[i-1])/(X[i]-X[i-1]);
for(j=1; j<kolvo-1; j++)
{
for(i=0; i<kolvo-j-1; i++)
{
f[i][j]=(f[i+1][j-1]-f[i][j-1])/(X[j+i+1]-X[i]);
}
}
b=Y[0];
for(i=1; i<kolvo; i++)
{
a=1;
for (k=i; k>0; k--)
{
a=a*(x-X[k-1]);
}
b=b+f[0][i-1]*a;
}
return (b);
}
Соседние файлы в папке Лабораторные работы 9_10