Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №3 / 3
.cpp#include <iostream.h>
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,d,e;
float x[9999],y[9999],fxy[9999],r[9999];
cout<<"VVedite dla uravnenia f(x,y)=ax+bx+e^(cx^2+dy^2) koeffizent a:"<<endl; cin>>a;
cout<<"b:"<<endl; cin>>b;
cout<<"c:"<<endl; cin>>c;
cout<<"d:"<<endl; cin>>d;
cout<<"vvedite to4nost' e:"; cin>>e;
int n=0;
power: n++;
x[0]=0;
y[0]=0;
r[0]=1;
fxy[0]=1;
x[n]=x[n-1]-r[n-1]*(a+2*c*x[n-1]*exp(c*x[n-1]*x[n-1]+d*y[n-1]*y[n-1]));
y[n]=y[n-1]-r[n-1]*(b+2*d*y[n-1]*exp(c*x[n-1]*x[n-1]+d*y[n-1]*y[n-1]));
fxy[n]=a*x[n]+b*y[n]+exp(c*x[n]*x[n]+d*y[n]*y[n]);
if(fxy[n]>fxy[n-1])
{
r[n]=r[n-1]/2;
}
else
{
r[n]=r[n-1];
} cout<<"f[n]"<<fxy[n]<<endl;
if(fabs(a+2*c*x[n-1]*exp(c*x[n-1]*x[n-1]+d*y[n-1]*y[n-1]))>=e/2 && fabs(b+2*d*y[n-1]*exp(c*x[n-1]*x[n-1]+d*y[n-1]*y[n-1]))>=e/2) goto power;
else
{
cout<<"r["<<n<<"]="<<r[n]<<endl;
cout<<"x["<<n<<"]="<<x[n]<<endl<<"y["<<n<<"]="<<y[n]<<endl<<"f(x,y)="<<fxy[n]<<endl;
};
}