Вниз
Скачать: 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.012 c
2-1191835263
alikon1
2007-10-08 13:21
2007.10.28
сделать кнопки не активными


2-1191463004
Lex_!
2007-10-04 05:56
2007.10.28
Массивы объектов...


15-1189765740
pasha_golub
2007-09-14 14:29
2007.10.28
[Fatal Error] Internal error: L681


8-1168460554
andr1962
2007-01-10 23:22
2007.10.28
DirectDraw


2-1191410402
vigo_
2007-10-03 15:20
2007.10.28
Сохранение в Excel




   Наверх