const int L=1500;
znach_x x[L];
znach_x x_;
double eps,y_,f1_1,f1_2,d,d1,d2,p1,p2,dlina,F,delta,a,y,fp;
double f2[2][2];
int N1,N2,k,N,N0;
ofstream fout;
cout<<"Vvedite bazovuyu tochku:"<<endl;
cout<<"x0(x1,x2) ";cout<<endl;
cout<<"x1 = ";
cin>>x[0].x1;
cout<<"x2 = ";
cin>>x[0].x2;
eps=0.0004;
cout<<"Vvedite delta':\n";
cout<<"delta = "; cin>>delta;
fout.open("result5.txt");
if(fout.fail()){ cout<<"result5.txt "<<"Mistake!";
getch(); exit(1);}
f1_1=dfx1(x[0].x1,x[0].x2);
f1_2=dfx2(x[0].x1,x[0].x2);
k=0;N1=0;N2=0;a=1; N0=0;
f2[1][1]=dfx1x1(x[k].x1,x[k].x2);
f2[1][2]=dfx1x2(x[k].x1,x[k].x2);
f2[2][1]=f2[1][2];
f2[2][2]=dfx2x2(x[k].x1,x[k].x2);
N2=N2+3;
m2:
d=f2[1][1]*f2[2][2]-pow(f2[1][2],2);
d1=f1_1*f2[2][2]-f1_2*f2[1][2];
d2=f2[1][1]*f1_2-f2[2][1]*f1_1;
p1=d1/d;
p2=d2/d;
y=f(x[k].x1,x[k].x2);
N0++;
fp=f1_1*p1+f1_2*p2; //scal.
m1:
if ((f(x[k].x1-a*p1,x[k].x2-a*p2)-y)>(-delta*a*fp)) {a=0.5*a;
N0++;goto m1;}
x[k+1].x1=x[k].x1-a*p1;
x[k+1].x2=x[k].x2-a*p2;
fout<<x[k+1].x1<<"; "<<x[k+1].x2<<endl;
cout<<(k+1)<<") "<<x[k+1].x1<<" "<<x[k+1].x2<<endl;
f1_1=dfx1(x[k+1].x1,x[k+1].x2);
f1_2=dfx2(x[k+1].x1,x[k+1].x2);
29