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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 19:33   #1
Лилиана
Новичок
Джуниор
 
Регистрация: 05.06.2009
Сообщений: 1
По умолчанию помогите пожалуйста...задача не идет

Код:
#include<iostream.h>
#include<conio.h>
#include<math.h>


//---------------------------------------------------------------------------

float funk(float x,float y){
float f;
f=(x*x+y-11)*(x*x+y-11)+(x+y*y-7)*(x+y*y-7);
return f;
      }
int main(int argc, char* argv[])
{
float e,dx,a,t,f1,f2,f3,f4,xk1,xk2;
  float x1[100];
  float x2[100];
  float y1[100];
  float y2[100];
  int i,k;
  bool ud,p;



x1[1]=2;
x2[1]=2;
e=0.1;
dx=1;
t=1.5;
a=2;
y1[1]=x1[1]=1; y2[1]=x2[1]=1;
i=1; k=0;

f1=funk(y1[i],y2[i]);
f2=funk(y1[i]+dx,y2[i]);
ud=false;

if (f2<f1) {ud=true; y1[i+1]=y1[i]+dx;y2[i+1]=y2[i];}
  else
{ f2=funk(y1[i]-dx,y2[i]);
  if (f2<f1) { ud=true; y1[i+1]=y1[i]-dx;y2[i+1]=y2[i]; }
   }

if (ud==false) { y1[i+1]=y1[i]; y2[i+1]=y2[i];}

if ((ud==true)&&(i<2)) {
i=i+1;
f2=funk(y1[i],y2[i]+dx);
ud=false;
if (f2<f1) { ud=true; y1[i+1]=y1[i];y2[i+1]=y2[i]+dx;}
else
{
f2=funk(y1[i],y2[i]-dx);
if (f2<f1) { ud=true; y1[i+1]=y1[i];y2[i+1]=y2[i]-dx; }
}


if (ud==false) { y1[i+1]=y1[i]; y2[i+1]=y2[i];}
                            }

if ((ud==true)&&(i==2))
{
p=false;
f3=funk(y1[i+1],y2[i+1]);
f4=funk(x1[k],x2[k]);
if (f3>=f4)  p=true; else
 {
    x1[k+1]=y1[i+1];  x2[k+1]=y2[i+1];
    y1[1]=x1[k+1]+t*(x1[k+1]-x1[k]);  y2[1]=x2[k+1]+t*(x2[k+1]-x2[k]);
    i=1; k=k+1;

}

}
if ((p==true)&&(dx<=e))

   xk1=x1[k]; xk2=x2[k];

if ((p==true) && (dx>e))
{
dx=dx/a;
x1[k+1]=x1[k]; x2[k+1]=x2[k];
y1[1]=x1[k]; y2[1]=x2[k];
k=k+1;
i=1;

}

for(int i=1; i<=k; i++)
{printf("%9.2lf",x1[i]);
cout<<"\t";
printf("%9.2lf",y2[i]);
cout<<"\n";
}




 getch();


}
решить данное уравнение методом конфигурации

Модератор: тег CODE

Последний раз редактировалось Sazary; 05.06.2009 в 19:42.
Лилиана вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по pascal - помогите пожалуйста LIL_VAdiK Общие вопросы C/C++ 2 03.02.2009 17:25
Не могу понять почему не идет сортировка файла, помогите пожалуйста Taisja Помощь студентам 2 15.06.2008 20:37