Вниз
Скачать: CL | DM;

Поиск минимумов-максимумов.   Найти похожие ветки 

← →
wsv ©   (2007-08-17 13:11) [0]

Здравствуте все.

Вот есть массив int данных, например:

10,9,8,7,6,8,10,12,14,16,15,10,5,7,9,11,13...

Требуется извлечь из него все соседние минимальные и максимальные значения, т.е., получить, следующее в виде массива:

[10,6,0,4],[6,16,4,9],[16,5,9,12],[5,13,12,16]
,
где в выражении
[10,6,0,4] 10 - максимум, 6-минимум, 0-индекс максимума, 4- индекс минимума.
[6,16,4,9] - 6 - минимум, 16-максимум, 4-индекс минимума, 9-индекс максимума.

Туплю как...
Спасибо.


← →
wsv ©   (2007-08-17 13:19) [1]

ЗЫ. Уточнение. Разбивать на отрезки или нельзя или разбивать так, чтобы конец входного массива тоже обработался.


← →
MBo ©   (2007-08-17 13:21) [2]

Не уточнено, если несколько одинаковых значений - что из них считать экстремумом?

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


← →
wsv ©   (2007-08-17 13:38) [3]


> Не уточнено, если несколько одинаковых значений - что из
> них считать экстремумом?


Первое из одинаковых.


← →
MBo ©   (2007-08-17 14:07) [4]

>Первое из одинаковых.
тогда логику чуть подрихтовать, запоминая, с какого элемента постоянные значения идут.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
2-1191423908
Kolan
2007-10-03 19:05
2007.10.28
Как поймать клик по Табу в TabControl е?


1-1187346837
_Даня
2007-08-17 14:33
2007.10.28
Ошибка округления Trunc


15-1191497196
iZEN
2007-10-04 15:26
2007.10.28
50 лет первому ИСЗ, во что верить?


1-1186729609
vamp_avp
2007-08-10 11:06
2007.10.28
Передача данных в Word


2-1191743251
мфтнф_й
2007-10-07 11:47
2007.10.28
TCustomListBox -- OnDblClick




   Наверх