Скачиваний:
13
Добавлен:
01.05.2014
Размер:
786 б
Скачать
#include<conio.h>
#include<math.h>
#include<iostream.h>
float f(float x)
{
	return 2*x*x+3*exp(-x);
}
void swann(float x0, float a, float b)
{
	float h1,x1;
	h1=0.01*fabs(x0);
	x1=x0+h1;
	if(f(x0)<f(x1))
	{
	 h1=-h1;
	 x1=x0+h1;
	}
	do
	{
	 h1=2*h1;
	 x1=x1+h1;
	}
	while(f(x1-h1)>f(x1));
	a=x1-1.5*h1;
	b=x1;
}
void main()
{
	clrscr();
	float x0,x1,a,b,n,x2,min,e;
	int k=1;
	cout<<"‚ўҐ¤ЁвҐ ­ з «м­го в®зЄг ";
	cin>>x0;
	swann(x0,a,b);
	if(a>b)
	{
	 n=a;
	 a=b;
	 b=n;
	}
	e=0.001;
	x1=a+0.382*fabs(b-a);
	x2=a+0.618*fabs(b-a);
	while(fabs(b-a)>e)
	{
	 if(f(x1)<f(x2))
	 {
		b=x2;
		x2=x1;
		x1=a+0.382*fabs(b-a);
	 }
	 else
	 {
		a=x1;
		x1=x2;
		x2=a+0.618*fabs(b-a);
	 }
	}
	min=(a+b)/2;
  cout<<min<<'\n';
  getch();
}
Соседние файлы в папке all