2009-03-02 28 views
0

J'ai de 4 à 20 variables qui diffèrent en taille. Ce sont toutes des valeurs flottantes et numériques. Y at-il un moyen facile de trouver la plus petite valeur parmi eux et l'assigner à une variable? MerciTrouver la plus petite valeur parmi les variables?

+0

Sont-ils dans une structure de données quelconque? –

+0

et par «nombre» voulez-vous dire int? ou NSNumber instances? –

+0

J'allais demander la même chose. Le code varie en fonction du type réel des données. –

Répondre

-1

Merci pour votre réponse s et commentaires .. J'apprends beaucoup de vous les gars :)

J'ai fini par utiliser quelque chose comme Martin suggéré.

if (segmentValueNumber == 11){ 

    float min = 100000000;  


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

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

.............................................. Je ne pouvais pas comprendre comment implémenter tout cela dans un tableau puisque chaque résultat dépend d'un contrôle de segment, et je pense que le programme est plus optimisé de cette façon puisqu'il ne vérifie que les variables pertinentes.

Mais merci encore, vous êtes le plus utile.

8

ne suis pas sûr objective-c, mais la chose de la procédure comme:

float min = arrayofvalues[0]; 
foreach(float value in arrayofvalues) 
{ 
    if(value < min) 
     min=value; 
} 
+3

Les langues changent, les algorithmes ne le font pas. +1 –

+0

juste eu 213 erreurs :) Il n'y a aucune telle fonction comme foreach dans obj-c que je suis au courant de :( –

+0

je ne sais pas objective-c, mais peut remplacer "foreach" avec un régulier "pour "loop.Cela suppose que toutes vos variables sont dans un seul tableau appelé arrayofvalues.De votre commentaire, je vois que ce sont des variables séparées, il serait donc plus facile de les mettre d'abord dans un tableau.Autrement, vous aurez besoin de – Davy8

1

Je suis d'accord avec Davy8 - vous pouvez essayer de réécrire son code dans l'objectif C.

Mais, j'ai trouvé quelques-uns Code de type min() dans Objective C!

Regardez ceci:

- (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; 
} 

Ce code suppose qu'il va toujours comparer seulement trois variables, mais je suppose que ce quelque chose que vous pouvez traiter;)

+0

hmmm ... Mais mon nombre de variables change. Parfois il y en a 4 et parfois 20 ... mais j'aime l'idée ... Je pourrais faire une fonction si comme ça à l'intérieur de chacun de mes parents si les fonctions et le résoudre de cette façon .. Je vais essayer: D –

+0

Eh bien, Si vous savez combien d'entre eux sont là (pouvez-vous les suivre en les créant?), il serait pratique de les placer dans un tableau et de les parcourir en boucle FOR simple. Vous n'auriez pas besoin de ce FOREACH, car vous spécifieriez des "bordures" de ce tableau. –

0

La meilleure solution, sans foreach.

`- (float) minFromArray: (float *) taille du tableau: (int) arrSize

{

float min; 
int i; 

min = array[0] 
for(i=1;i<arrSize;i++) 
    if(array[i] < min) 
     min = array[i]; 
return min; 

} `

Si vous voulez être sûr, ajoutez un vérification de l'arrSize> 0.

Marco

Questions connexes