Найдите наименьшее значение среди переменных?
-
03-07-2019 - |
Вопрос
У меня от 4 до 20 переменных, различающихся по размеру.Все они имеют тип float и числовые значения.Есть ли простой способ найти среди них наименьшее значение и присвоить его переменной?Спасибо
Решение 4
Спасибо за все ваши ответы и комментарии..Ребята, я многому у вас учусь :)
В итоге я использовал что-то вроде предложения Мартина.
if (segmentValueNumber == 11){
float min = 100000000;
if(game51 > 0, game51 < min){
min=game51;
}
if(game52 > 0, game52 < min){
min=game52;
}
}
...............................................
Я не мог придумать, как реализовать все это в одном массиве, поскольку каждый результат зависит от элемента управления сегментом, и я думаю, что программа таким образом более оптимизирована, поскольку она проверяет только соответствующие переменные.
Но еще раз спасибо, вы очень помогаете..
Другие советы
Не уверен насчет Objective-C, но процедура примерно такая:
float min = arrayofvalues[0];
foreach( float value in arrayofvalues)
{
if(value < min)
min=value;
}
Я согласен с Davy8 — вы можете попробовать переписать его код в Objective C.
Но я нашел код, похожий на min(), в Objective C!
Посмотри на это:
- (int) smallestOf: (int) a andOf: (int) b andOf: (int) c
{
int min = a;
if ( b < min )
min = b;
if( c < min )
min = c;
return min;
}
В этом коде предполагается, что он всегда будет сравнивать только три переменные, но я думаю, с этим можно справиться;)
Лучшее решение без foreach.
`- (float)minFromArray:(float *)размер массива:(int)arrSize
{
float min;
int i;
min = array[0]
for(i=1;i<arrSize;i++)
if(array[i] < min)
min = array[i];
return min;
} `
Если вы хотите быть уверенным, добавьте проверку arrSize > 0.
Марко