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

Поиск максимума - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ и API http://www.cyberforum.ru/cpp-beginners/thread101418.html
Консольные С++ работает ли АPI функциями. Например, ShowMessage("Глупость"); Компилятор: Dev-C++
C++ Представление исходных данных в вигляды массива Добрый вечер. Помогите пожалуйста с этой задачкой: Для 10 типовых двигателей переменного тока, приведенных в каталоге, вычислить активную мощность P = pow (3,1 / 3) * U * I * cos (f), кВт и полную... http://www.cyberforum.ru/cpp-beginners/thread101415.html
Вычислить сумму ряда C++
Задание: Вычислить сумму ряда. Вычисление вести до тех пор, пока абсолютная величина разницы между двумя соседними членами ряда |Un+1-Un|не превышает некоторой величины . (10^-3>E>10^-4). Значение...
функции C++
добрый день. я перепечатал программу из книжки, в ней при обьявлении ф-ции используется имя num int factorial(int num); я сначала не понял почему именно num, так как в программе кроме этой...
C++ Графические рисунки http://www.cyberforum.ru/cpp-beginners/thread101395.html
Помогите с помощью языка С написовать рисунок: нарисовать окружность. На ней отметить 5 точек на одинаковом рассоянии друг от друга и каждые две соседние точки соединить с помощью двух линий. В итоге...
C++ Перегрузка функции.Стек. Здравствуйте, друзья=) Я попытался перегрузить функции, но у меня ничего не вышло=(((( Помогите сделать программку. Мне дана задача: Cтек. Дополнительно перегрузить следующие операции: «+» −... подробнее

Показать сообщение отдельно
Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
04.03.2010, 20:34
Для нахождения максимумов зачастую есть дополнительные свойства.
Например минимальное расстояние от максимума до максимума, ширина поля, для поиска максимума, а так же грань максимума.(Threshold).

Вот пример поиска максимума, используя threshold.
Само по себе это значение максимального прыжка ф-ции. Тоесть, если элемент массива с индексом i
больше элемента массива с индексом i-1 и одновременно больше элемента массива с индексом i+1 - это максимум. i-1 и i+1 - это ширина поля, для поиска максимума. В Вашем случае его можно оставить равным 1.
Вот Ваш пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
 
#include <stdio.h>
#include <conio.h>
int main(int argc, char* argv[])
{
    int Threshold = 3;
    int Array[]={ 1,2,3,2,5,6,17,3,2,1,-3,-1,2,4,5,20,3,2,1,0};
        int EllementsAmount=sizeof(Array)/sizeof(int);
 
        for(int i=1;i<EllementsAmount-1;i++)
            if(abs(Array[i]-Array[i-1])>Threshold&&abs(Array[i]-Array[i+1])>Threshold)
                    printf("Founded maximum: %d\n", i+1);
 
        getch();
 
    return 0;
}
//---------------------------------------------------------------------------
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru