Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 9 / LR_9 / Main
.CPP#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
int const n=10;
void main()
{
clrscr();
void mas_init(float*,float*);
double Yijk(float*,float*,int,int,float);
float X[n+1],F[n+1];
double Ln;
float x1,x;
printf("\n Welcome!\n\n");
printf("Program calculation fuction y=f(x).\n\n");
printf("Input the argument x: ");
scanf("%f",&x1);
x=x1;
mas_init(X,F);
Ln=Yijk(X,F,0,n,x);
printf("The method of Eitken: Ln(x) = %f",Ln);
printf("\n\nPress any key to exit, please.\n");
getch();
}
void mas_init(float* X, float* F)
{
X[0]=0.2712; F[0]=-3.4381;
X[1]=0.3968; F[1]=-2.5174;
X[2]=1.5472; F[2]=0.3600;
X[3]=2.1912; F[3]=-0.1842;
X[4]=2.2752; F[4]=-0.2544;
X[5]=4.3336; F[5]=10.3745;
X[6]=4.5528; F[6]=14.0833;
X[7]=4.7144; F[7]=17.2852;
X[8]=5.0688; F[8]=25.8317;
X[9]=5.1024; F[9]=26.7578;
X[10]=5.5152; F[10]=39.9208;
}
double Yijk(float* X, float* F, int i, int k, float x)
{
if (k-i==1) return (((x-X[i])*F[k]-(x-X[k])*F[i])/(X[k]-X[i]));
else return (((x-X[i])*Yijk(X,F,i+1,k,x)-(x-X[k])*Yijk(X,F,i,k-1,x))/(X[k]-X[i]));
}