проблема получеия минимума из массива

 
Всем привет. Вот склал массив из 122 эллементов и нужно получить минимум. Я получаю 0 и не знаю как его обойти.
double kompa[122];//суда присваиваются значения цен в определённые ячейки по неким правилам.

int MaxPriceSintezINDEX=ArrayMaximum(kompa,WHOLE_ARRAY,0);//Здесь получаю индекс массива по максимуму
int MinPriceSintezINDEX=ArrayMinimum(kompa,WHOLE_ARRAY,0);//здесь по минимуму

double MaxPriceSintez=(kompa[MaxPriceSintezINDEX]);//здесь получаю сам элемент максимума
double MinPriceSintez=(kompa[MinPriceSintezINDEX]);//здесь минимума

результат.
MaxPriceSintez-  1,17566 // цена максимума 
MinPriceSintez-  0,0     // цена минимума

цена максимума корректна а цена минимума всегда 0
Хотя в массиве есть цена меньше максимальной.допустим 1,17500 как эту цену получить..
Заранее спасибо
 

Что это?

double MaxPriceSintez=(kompa[MaxPriceSintezINDEX]);//здесь получаю сам элемент максимума
double MinPriceSintez=(kompa[MinPriceSintezINDEX]);//здесь минимума
 

Также внимательно читаем справку ArrayMaximum:

int  ArrayMaximum( 
   const void&   array[],             // массив для поиска 
   int           start=0,             // с какого индекса начинаем поиск 
   int           count=WHOLE_ARRAY    // количество проверяемых 
   );
Вы перепутали местами "start" и "count"
 
Yevheniy Kopanitskyy:
цена максимума корректна а цена минимума всегда 0

ну и значение 0 видимо корректно, значит это значение Вы сохранили в массив и его же и получили, значит в массивы сохраняйте значения >0.0

Хотя в массиве есть цена меньше максимальной.допустим 1,17500 как эту цену получить..

увы, никак, только перебором и поиском, единственное, что могу предложить это отсортировать массив ArraySort() и рядом с максимальным значением будет значение меньшее
 
Yevheniy Kopanitskyy:
Всем привет. Вот склал массив из 122 эллементов и нужно получить минимум. Я получаю 0 и не знаю как его обойти.

Видимо в массиве 122 элемента, и один из них заполнен нулём. Покажите, как заполняете массив

 

Всем спасибо решение нашол.

Пришлось дублиравать действия массива и обьёвлять втарой массив.

В первом испальзавал ArrayInitializa(Arr,0)

После выбарки получаю максимальное число

во втором слуаи для второго аррай использую ArrayInitializa(Arr,10)// где 10 максимальная цена

Здесь получаю минимум.

Всем спасбо типик закрываю

 
Алексей Тарабанов:

Из 122, или из 123? 

 
Yevheniy Kopanitskyy:

Всем спасибо решение нашол.

Пришлось дублиравать действия массива и обьёвлять втарой массив.

В первом испальзавал ArrayInitializa(Arr,0)

После выбарки получаю максимальное число

во втором слуаи для второго аррай использую ArrayInitializa(Arr,10)// где 10 максимальная цена

Здесь получаю минимум.

Всем спасбо типик закрываю

Ошибка осталась, просто на результат теперь не влияет. 

 

Хороший пример того, как НЕ надо исправлять баги...  Просто загоняем их подальше - и дело с концом...

 
Yevheniy Kopanitskyy:
Всем привет. Вот склал массив из 122 эллементов и нужно получить минимум. Я получаю 0 и не знаю как его обойти.

А вы точно знаете, что у вас в вашем массиве нет элемента содержащего значение ноль? Именно это вам и показывает функция ArrayMinimum()

 

Вроде всё логично. 

Если

double MinPriceSintez=(kompa[MinPriceSintezINDEX]);//здесь минимума


выдал ноль, то нужно проверить массив для начала на наличие там нуля.

Причина обращения: