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

Метод перебора. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Error C2059: syntax error : ']' http://www.cyberforum.ru/cpp-beginners/thread301799.html
Добрый день. Помогите пожалуйста разобраться с проблемой. Пишу программу, решающую систему линейных уравнений методом Крамера. Затруднение состоит в том, что для функции, вычисляющей детерминант...
C++ Построение графиков функций Задано 2 функции y1 и y2. y1=f1(x), y2=f2(x). y1= ax^2+bx+с y2= d*sin(Kx) a=2,5 b=4 c=-4 d=3 k=2,5 1) построить графики данных функций. 2) Найти корни уравнений f1(x)=f2(x) в промежутке от... http://www.cyberforum.ru/cpp-beginners/thread301794.html
Построение графика данных функций C++
Задано 2 функции y1 и y2. y1=f1(x), y2=f2(x). y1= ax^2+bx+с y2= d*sin(Kx) a=2,5 b=4 c=-4 d=3 k=2,5 1) построить графики данных функций. 2) Найти корни уравнений f1(x)=f2(x) в промежутке от...
C++ как правильно реализовать операцию с goto и в чём моя ошибка???
Доброе время суток!!!! Не могли бы мне объяснить, как правильно реализовать операцию с goto и в чём моя ошибка??? Задача: вычислить факториал введённого числа c goto #include <iostream>...
C++ Создание класса http://www.cyberforum.ru/cpp-beginners/thread301744.html
Помогите пожадуйста решить задачку к курсовой, жо завтра сдать нужно. Зарание спасибо! Создать класс, в котором предусмотреть ввод и вывод параметров в виде отдельных функций класса. Написать...
C++ Вставить в предложении между всеми одинаковыми словами слово “=”. Дано предложение. Вставить в предложении между всеми одинаковыми словами слово “=”. Помогите пожалуйсто решить задачу без использования функций. подробнее

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

Метод перебора. - C++

22.05.2011, 14:13. Просмотров 1344. Ответов 0
Метки (Все метки)

Задание: Написать программу для поиска экстремума функцие методом перебора.

Алгоритм:
Шаг1. Выбрать начальный шаг sh=(b-a)/4. Положить x0=a. Вычислить F(x0).
Шаг2. Положить x1=x0+sh. Вычислить F(x1).
Шаг3. Сравнить F(x0) и F(x1). Если F(x0)>F(x1), то перейти к шагу 4, иначе -- к шагу 5.
Шаг4. Положить x0=x1 и F(x0)=F(x1). Проверить условие принадлежности x0 интервалу [a,b]. Если a < x0 < b, то перейти к шагу 2, иначе -- к шагу 5.
Шаг5. Проверка на окончание поиска: если |sh| <= eps, то вычисления завершить, полагая xm=x0, Fm=F(x0), иначе -- перейти к шагу 6.
Шаг6. Изменить направление поиска: положить x0=x1, F(x0)=F(x1), sh=-sh/4. Перейти к шагу 2.

Собственно всё что я смог написать:

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
#include <iostream>
#include <cmath>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
using namespace std;
 
const float epsilon=1e-10;
 
float f(float x)
{
    float y,k,j,l;
    return y=k*x*x+l*x+j;
}
 
int main()
{
        float r,k,j,l,a,b,f1,f2,dx,x0;
   printf("Vvedi koefficienti k l j \n");
   scanf("%f" ,&k);
   scanf("%f" ,&l);
   scanf("%f" ,&j);
   printf("Vvedi interval \n");
   scanf("%f" ,&a);
   scanf("%f" ,&b);
       dx=(b-a)/4;
       x0=a;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru