Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 21:42   #1
prostdj
 
Регистрация: 25.10.2011
Сообщений: 3
По умолчанию метод золотого сечения!не могу найти ошибку в коде(С++)

Код:
#include <math.h>
#include <iostream>
using namespace std;

double f(double x)
{
return x*x*x+10*x*x+31*x+30;
} 
double max(double a, double b, double eps)
{

double g, h, fu1, fu2;
double fi = (1+sqrt(5.0))/2;
//cout<<"Input a for max"<<endl;
//cin>>a;
//cout<<"Input b for max"<<endl;
//cin>>b;
g = (a+(b-a))/fi;
h = (b-(b-a))/fi;
fu1 = f(g);
fu2 = f(h);

do{

if( fu1<=fu2 )
{
b = h;
h = g;
fu2 = fu1;
g = (a+(b-a))/fi;
fu1 = f(g);
}
else
{
a = g;
g = h;
fu1 = fu2;
h = (b-(b-a))/fi;
fu2 = f(h);
} 
}
while(fabs(b-a)<eps);
cout<<"Maximum "<<f((a+b)/2)<<" v tochke "<<h<<endl;
} 
double min(double a, double b, double eps)
{

double g, h, fu1, fu2;
double fi = (1+sqrt(5.0))/2;
//cout<<"Input a for min"<<endl;
//cin>>a;
//cout<<"Input b for min"<<endl;
//cin>>b;
g = (a+(b-a))/fi;
h = (b-(b-a))/fi;
fu1 = f(g);
fu2 = f(h);

do{

if( fu1>=fu2 )
{
b = h;
h = g;
fu2 = fu1;
g = (a+(b-a))/fi;
fu1 = f(g);
}
else
{
a = g;
g = h;
fu1 = fu2;
h = (b-(b-a))/fi;
fu2 = f(h);
} 
}
while(fabs(b-a)<eps);
cout<<"Minimum "<<f((a+b)/2)<<" v tochke "<<h<<endl;
} 
int main()
{
double a, b,eps;
cout<<"Input a"<<endl;
cin>>a;
cout<<"Input b"<<endl;
cin>>b;
cout<<"Input eps"<<endl;
cin>>eps;
max(a,b,eps);
min(a,b,eps);
system ("PAUSE");
return 0;
}
вот написал кое какой код...препод говорит что неправильно считает.... прога работает..писал на dev cpp
буду благодарен за любую помощь в коректировке кода...

Последний раз редактировалось prostdj; 07.12.2011 в 21:48.
prostdj вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оч нужно!!в Паскале Метод золотого сечения. АлинКО Паскаль, Turbo Pascal, PascalABC.NET 1 08.11.2011 10:20
в Паскале Метод золотого сечения. не понимаю совсем( АлинКО Помощь студентам 0 23.12.2010 19:14
Метод золотого сечения ramone Помощь студентам 0 14.05.2010 17:02
Метод золотого сечения Dasharnb777 Фриланс 4 15.02.2010 17:31
метод золотого сечения выдает ошибку... Skif Помощь студентам 7 09.04.2007 07:23