Udało mi się zaliczyć i stworzyć program a o to on :
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include <fstream>
using namespace std;
double a[4];
int ai(double x1, double x2, double y11, double y2, double dy1, double dy2)
{
double z1,z2,z3,z4,z5,z6,z7,x12,x14,x16,x22,x24,x26;
x12=x1*x1; x14=x12*x12; x16=x12*x14;
x22=x2*x2; x24=x22*x22; x26=x22*x24;
z1=(y2-y11)/(x22-x12); z2=x22+x12; z3=(x26-x16)/(x22-x12);
z4=(dy1-2.*x1*z1)/(4.*x12-2.*z2)/x1; z5=(6.*x14-2.*z3)/(4.*x12-2.*z2);
z6=(dy2-2.*x2*z1)/(4.*x22-2.*z2)/x2; z7=(6.*x24-2.*z3)/(4.*x22-2.*z2);
printf("z1=%f\tz2=%f\tz3=%f\tz4=%f\tz5=%f\tz6=%f\tz7=%f\n",z1,z2,z3,z4,z5,z6,z7);
a[3]=(z6-z4)/(z7-z5); a[2]=z4-z5*a[3];
a[1]=z1-a[2]*z2-a[3]*z3; a[0]=y11-a[1]*x12-a[2]*x14-a[3]*x16;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
double x1,x2,y11,y2,dy1,dy2,dx,xx,yy;
fstream file;
file.open("g:\\aproks4.dat",ios_base::out|ios_base::trunc);
double x[]={1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.,17.,18.,19.,20.,21.,22.,23.,24.,25.,26.,27.,28.,29.,30.,31.,32.,33.,34.,35.,36.,37.,38.,39.,40.,41.,42.,43.,44.,45.,46.,47.,48.,49.,50.,51.,52.,53.,54.,55.,56.,57.,58.,59.,60.,61.,62.,63.,64.,65.,66.,67.,68.,69.,70.,71.,72.,73.,74.,75.,76.,77.,78.,79.,80.,81.,82.,83.,84.,85.,86.,87.,88.,89.,90.,91.,92.,93.,94.,95.,96.,97.,98.,99.,100.,101.,102.,103.,104.,105.,106.,107.,108.,109.,110.,111.,112.,113.,114.,115.,};
double y[]={1.,4.,9.,16.,25.,36.,49.,64.,81.,100.,121.,144.,169.,196.,225.,256.,289.,300.,310.,320.,310.,300.,289.,256.,225.,196.,169.,144.,121.,100.,81.,64.,49.,36.,25.,16.,9.,4.,1.,4.,9.,16.,25.,36.,49.,64.,81.,100.,121.,144.,169.,196.,225.,256.,289.,300.,310.,320.,310.,300.,289.,256.,225.,196.,169.,144.,121.,100.,81.,64.,49.,36.,25.,16.,9.,4.,1.,4.,9.,16.,25.,36.,49.,64.,81.,100.,121.,144.,169.,196.,225.,256.,289.,300.,310.,320.,310.,300.,289.,256.,225.,196.,169.,144.,121.,100.,81.,64.,49.,36.,25.,16.,9.,4.,1.,};
double dy[]={1.,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,5.5,5.,5.,-5.,-5.5,-16.5,-15.5,-14.5,-13.5,-12.5,-11.5,-10.5,-9.5,-8.5,-7.5,-6.5,-5.5,-4.5,-3.5,-2.5,-1.5,-1.,1.,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,5.5,5.,5.,-5.,-5.5,-16.5,-15.5,-14.5,-13.5,-12.5,-11.5,-10.5,-9.5,-8.5,-7.5,-6.5,-5.5,-4.5,-3.5,-2.5,-1.5,-1.,1.,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,5.5,5.,5.,-5.,-5.5,-16.5,-15.5,-14.5,-13.5,-12.5,-11.5,-10.5,-9.5,-8.5,-7.5,-6.5,-5.5,-4.5,-3.5,-2.5,-1.5,-1.,};
x1=x[0]; x2=x[19]; y11=y[0]; y2=y[19]; dy1=dy[0]; dy2=dy[19];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
x1=x[19]; x2=x[38]; y11=y[19]; y2=y[38]; dy1=dy[19]; dy2=dy[38];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
x1=x[38]; x2=x[57]; y11=y[38]; y2=y[57]; dy1=dy[38]; dy2=dy[57];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
x1=x[57]; x2=x[76]; y11=y[57]; y2=y[76]; dy1=dy[57]; dy2=dy[76];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
x1=x[76]; x2=x[95]; y11=y[76]; y2=y[95]; dy1=dy[76]; dy2=dy[95];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
x1=x[95]; x2=x[114]; y11=y[95]; y2=y[114]; dy1=dy[95]; dy2=dy[114];
ai(x1,x2,y11,y2,dy1,dy2);
xx=x1;dx=(x2-x1)/200.;
while(xx<x2+dx)
{
x1=xx*xx;
yy=a[0]+a[1]*x1+a[2]*x1*x1+a[3]*x1*x1*x1;
printf("x=%f\ty=%f\n",xx,yy);
file <<"\t"<<xx<<"\t"<<yy<<endl;
xx=xx+dx;
}
file.close();
getch();
return 0;
}
0