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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ОШИБКА http://www.cyberforum.ru/cpp-beginners/thread310751.html
Unresolved external'_main'referenced from c:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0X32OBJ Объясните что это за ошибка?
C++ символьный файл Можете перевести некоторые функции из Турбо паскала в Турбо С Задача: Дан символьный файл F.Получить копию файла g. While not eof(f) do begin read(f,b); write(g,b);end. http://www.cyberforum.ru/cpp-beginners/thread310746.html
C++ Работа над массивом с 10 элементами
Есть задание: В массиве с 10 целыми числами сделать: количество четных и нечетных чисел; максимальный/минимальный элемент; количество максимальных/минимальных элементов; номер...
C++ Найти сумму ряда
День добрый, очень нужна помощь в решении задач по Абрамову, моя девушка мозги проканифолила хз сколько времени, завтра уже ей сдавать, за помощь гарантирую вознаграждение в размере 10 вмз. Заранее...
C++ Срочно, структуры http://www.cyberforum.ru/cpp-beginners/thread310692.html
дана структура температура днем, ночью скорость ветра и осадки(в виде 1\0 были не были) найти самый теплый день при условии наличия осадков
C++ дана строка s подсчитать колво четных цифр я на экзамене язык си задачи:дана строка s подсчитать колво четных цифр 2)подсчитать колвочетных элементов масивеа подробнее

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

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

02.06.2011, 12:17. Просмотров 1052. Ответов 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
28
#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;
       f(0)=k*x0*x0+l*x0+j;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru