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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
TigerSHARC
0 / 0 / 0
Регистрация: 01.03.2010
Сообщений: 24
#1

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

04.03.2010, 20:11. Просмотров 1593. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста в следующем вопросе.

Имеется массив данных. Известно, что в массиве имеются локальные максимумы, и глобальные.
Как можно найти номер максимального элемента из массива?
Проблеме в том, что массив представлен периодичными данными, в которые могут входить локальные максимумы.
Например { 1, 2, 3, 2, 5, 6, 17, 3, 2, 1, -3, -1, 2, 4, 5, 20, 3, 2, 1, 0} здесь третий элемент - это локальный максимум (а седьмой и шестнадцатый элементы - искомые максимумы)
Наличие же локальных максимумов усложняет конструкцию и делает невозможным применение (как критерия максимума) простого сравнения со следующим значением.
Думаю нужно как-то использовать информацию о том, что искомые максимумы - самые большие значения в массиве.

очень нужен совет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2010, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск максимума (C++):

Поиск максимума в массиве - C++
Всем доброго времени суток! Прошу помощи у форумчан, возникла проблема, не могу понять, как возвести элементы массива в куб. Задание звучит...

Поиск максимума и минимума - C++
Уважаемые форумчане помогите с задачей немогу понять как её зделать. Задание:N точек на площаде заданы своими координатами (xi,yi)....

Поиск максимума в массиве - C++
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; class first_arr{ int i; public: ...

Задача на поиск максимума - C++
Задача с (acm.timus.ru) Вот условия Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям: a0 =...

Функции. Поиск минимума и максимума. - C++
Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y

Поиск максимума в строках матрицы - C++
Здравствуй...Помги пожалуйста решить задачу..Что бы было простое решения,можно несколько решений и желательно простых.....(с полными...

2
Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
04.03.2010, 20:34 #2
Для нахождения максимумов зачастую есть дополнительные свойства.
Например минимальное расстояние от максимума до максимума, ширина поля, для поиска максимума, а так же грань максимума.(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
TigerSHARC
0 / 0 / 0
Регистрация: 01.03.2010
Сообщений: 24
04.03.2010, 21:09  [ТС] #3
Этот приме на самом деле просто для того что бы показать суть задачи.

На самом деле задача усложнена тем, что данные в массиве - это оцифрованая синусоида. И нужно найти выборку соответствующую максимуму синусоиды. Синусоида содержит шум. И так как она не обязательно скакнёт сильно в искомом максимуме то искомое значение не обязательно так сильно отличается от соседних.
И тогда выходит что критерии для поиска искомых и отсеивания локальных максимумов просто совпадут.

проблема((
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2010, 21:09
Привет! Вот еще темы с ответами:

Поиск минимума и максимума в двумерном массиве - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int n; cin &gt;&gt; n; int *a = new int; for...

поиск максимума в части двумерного массива - C++
Ребята, доброе время суток!!! За ранее благодарен кто откликнется!!! Дана квадратная матрица порядка n (n строк, n столбцов). ...

Поиск минимума и максимума в динамическом массиве указателей - C++
Вот функции минимума и максимума в шаблоне класса. Проблема в том, что меняется значение 1 элемента в динам. массиве указателей, и дальше...

поиск максимума в двумерном массиве, где ошибка - C++
// lab2_1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru