Найти наименьшее значение среди переменных? - PullRequest
0 голосов
/ 02 марта 2009

У меня от 4 до 20 переменных, которые различаются по размеру. Все они имеют значения типа float и number. Есть ли простой способ найти наименьшее значение среди них и присвоить его переменной? Спасибо

Ответы [ 4 ]

8 голосов
/ 02 марта 2009

Не уверен насчет объектива-c, но процедура выглядит примерно так:

float min = arrayofvalues[0];
foreach( float value in arrayofvalues)
{
    if(value < min)
        min=value;
}
1 голос
/ 02 марта 2009

Я согласен с 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;
}

В этом коде предполагается, что он всегда будет сравнивать только три переменные, но, думаю, с этим можно справиться;)

0 голосов
/ 03 марта 2009

Спасибо за все ваши ответы и комментарии .. Я многому у вас научился, ребята:)

Я закончил тем, что предложил что-то вроде предложенного Мартином.

if (segmentValueNumber == 11){

    float min = 100000000;      


        if(game51 > 0, game51 < min){
            min=game51;
        }

        if(game52 > 0, game52 < min){
            min=game52;
        }
}

...............................................

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

Но еще раз спасибо, вы очень помогли ..

0 голосов
/ 02 марта 2009

Лучшее решение без 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.

Marco

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...