Вась,посмотришь плиз
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
double * X = new double {6,6.1,6.4,6.9,7.41,7.65,8,8.56,8.9,9.51,9.9};
double * Y = new double ;
For( int i = 0;i = 11; i++)
{Y(i)=Math.sin(X(i))/X(i);
}
double x0=19;
double x1=19;
double x2=19;
int n0;
int n1;
int n2;
double Otvet1;
double Otvet2;
double Otvet3=0;
double Mnoznic=1;
double Mnoznic1=1;
double left=Math.sin(5.84)/5.84;
double derivativeleft=(5.84*Math.cos(5.84)-Math.sin(5.84))/((5.84)*(5.84));
For (double x= 6;x=10;x=x+0.16)// Основний цикл(походження всієї довжини з певним кроком)
{ Otvet4=x*Math.cos(x)-Math.sin(x))/((x)*(x));// перша похідна за формулою
Otvet5=(-x*x*x*Math.sin(x)-2*x*x*Math.cos(x)+2*x*Math.sin(x))/(x*x*x*x)//друга похідна за формулою
Otvet1=(Math.sin(x)/x); //Математичне знаходження функції від аргументу
for (i =0;x=>11;i++)
{
if(abs(x-X(i))< x0)// Для методу квадратичної апроксимації знаходження найближчих 3 вузлових точок
{n2=n1;
x2=x1;
n1=n0;
x1=x0;
x0= abs(x-X(i));
n0=i;
}
else
if(abs(x-X(i))<x1)
{x2=x1;
n2=n1;
x1=abs(x-X(i));
n1=i;
}
else
if(abs(x-X(i)<x2)
{ x2=abs(x-X(i));
n2=i;
}
}
double d=X(n0)*X(n0)(X(n1)-X(n2))-X(n0)(X(n1)*X(n1)-X(n2)*X(n2)) +
X(n1)*X(n1)*X(n2)-X(n2)*X(n2)*X(n1);
double d1=Y(n0)(X(n1)-X(n2))-X(n0)(Y(n1)-Y(n2))+
Y(n1)*X(n2)-Y(n2)*X(n1);
double d2=X(n2)*X(n2)(Y(n1)-Y(n2))-Y(n0)(X(n1)*X(n1)-X(n2)*X(n2))+
X(n1)*X(n1)Y(n2)-X(n2)*X(n2)*Y(n1);
double d3=X(n0)*X(n0)(X(n1)*Y(n1)-X(n2)*Y(n1))-
X(n0)((X(n1)*X(n1)*Y(n2)-X(n2)X(n2)Y(n1))+
Y(n0)(X(n1)*X(n1)*X(n2)-X(n2)*X(n2)*X(n1));//Математичне представлення методу Крамера(за знайденими точками)
Otvet2=d1*x*x/d +d2*x/d +d3/d;//Відповідь квадратичною апроксимацією
Otvet6 = (otvet2-left)/0.16//Ліва різницева похідна
Otvet7 = (otvet6-derivativeleft)/0.16//Друга ліва різницева похідна
left=otvet2;
derivativeleft=otvet6;
for (i =0;x=11;x++) Знахоження полінома Лагранжа(спочатку знаходжу кефіціент для Y(0),з я кого потім знаходжу й інші коефіціенти)
{Mnoznic= Mnoznic*(x-X(i))/((X(0)-X(i))
}
for (i =0;x=11;x++)
{ Otvet3=Otvet3+Y(i)*Mnoznic1* Mnoznic//;Знаходження відповід заопомого полінома Лагранжа
Mnoznic1=Mnoznic1*(X(0)-X(i+1));
}
cout << ("Znachennya argumenta",x) ;
cout << ("Vidpovid prostim obchislennyam",Otvet1) ;
cout << ("Vidpovid za kvadratichnoi aproksimacii",Otvet2) ;
cout << ("Vidpovid polinoma Lagrangdja",Otvet3) ;
cout << ("Перша похыдна за формулою",Otvet4) ;
cout << ("Друга похыдна за формулою",Otvet5) ;
cout << ("Перша похідна",Otvet6) ;
cout << ("Друга похідна",Otvet7) ;
}
system("PAUSE");
return EXIT_SUCCESS;
}