Форум программистов, компьютерный форум, киберфорум
Наши страницы

Метод золотого сечения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оператор равенства http://www.cyberforum.ru/cpp-beginners/thread394406.html
Я правильно понимаю что оператор равенства (==) нельзя перегрузить? То есть если я напишу функцию: template<class T> bool isEqualTo(const T& one,const T& two) { if (one==two) return true;...
C++ Задача с массивами. Выяснить является ли массив размерности N*N магическим квадратом.(В магическом квадрате суммы элементов по строкам,по столбцам,по главной и побочной диагоналям равны). http://www.cyberforum.ru/cpp-beginners/thread394401.html
Определить, сколько раз встречается одно слово в другом C++
может кто нибудь сталкивался, когда нужно найти количество раз, когда одно сочетание букв (например, "ха") встречается в другом сочетании ("хахахахахаха") (функция strstr в цикле не работает)....
как удвоить гласные в слове?? C++
задача на с++
C++ Задачка в 2 строчки (указатели) http://www.cyberforum.ru/cpp-beginners/thread394377.html
Присвоить предыдущему элементу массива p значение переменной yi и переадресовать указатель на этот элемент. изначально: pv = &p; П.С. нужно обратиться к предыдущему элементу с помощью pv, без...
C++ Помогите "работа с текстом" Нужна программа, которая будет предлагать ввести предложение, в котором она будет искать союзы и копировать их в конец проги. Заранее благодарен. делал с удалением знаков препинания, а вот с... подробнее

Показать сообщение отдельно
aleksandr_00
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 48

Метод золотого сечения - C++

29.11.2011, 00:09. Просмотров 2450. Ответов 1
Метки (Все метки)

Доброго времения суток.
Помогите пжлст исправить или добавь формулу(методы Золотого сечения).
Там резульаты получается все нуля,а нужно ответ ~4.75.Или может быть я не правильно.....
Мне кажется номер от12до15(где то всередине выше(например: while(a*b*(a-b)>2*eps) ))
Заранее спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<math.h>
double f(double x)
{
return 2*x*x + (-19)*x + 20;
}
int main(void)
{
int n=0;
double x,x1,x2,a=-5,b=30,eps=0.01, f1,f2,t=0.618;
 //while (b-a<2*eps)           // - ??!
 //while (fabs(b+a)>2*eps)  // - ??!
 //t=(sqrt(5)-1)*2;            // - ??! 
 while(a*b*(a-b)>2*eps)     -???
{
 
 // t=0.618
 //b =t(b-a);
 x1=a+(1-t)*(b+a),
 x2=a+t*(b-a),
 n++;
 
printf("step=%3i x=%11.8lf f(x)=%11.8lf\n",n,x,f(x));
  f1=f(x1);
  f2=f(x2);
 
  if (f1<f2) b=x2, x2=x1, f2=f1, x1=a+(1-t)*(b-a), f1=f(x1);
 else a=x1, x1=x2, f1=f2, x2=a+t*(b-a), f2=f(x2);
}
 printf("Reshenie x=%11.8lf pri Eps=%lf\nkolithestvo iteratsii n=%i\n",x,eps, n);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.