Bonjour à tous,
Question de math dans prorealcode !
J’ai :
a = 20
b = 25
c = 32
d = 37
Pivot = 22
Je souhaite trouver la plus petite valeur entre a, b , c , d et qui soit supérieur à Pivot. La fonction MIN ne permettant que la comparaison entre deux valeurs uniqement…
Comment puis-je coder cela ?
On peut encapsuler plusieurs MIN:
a = 20
b = 25
c = 32
d = 37
pluspetit = min(a,min(b,min(c,d)))
return pluspetit
ou sinon on enregistre toutes ces valeurs dans un tableau et on fait un ARRAYMIN:
$var[0] = 20
$var[1] = 25
$var[2] = 32
$var[3] = 37
pluspetit = arraymin($var)
return pluspetit
trouver la plus petite valeur entre a, b , c , d et qui soit supérieur à Pivot
Pour cela idéalement, on prend la deuxième version de mon code, on classe les valeurs du plus petit au plus grand, et on fait une boucle dans toutes les valeurs, dés qu’on trouve la 1ère valeur au dessus du pivot, on sort de la boucle:
$var[0] = 37
$var[1] = 19
$var[2] = 18
$var[3] = 23
pivot = 22
arraysort($var,ascend) //on classe le tableau du plus petit au plus grand
for i = 0 to lastset($var) do
if $var[i]>pivot then
break //trop grand on sort
endif
valeur = $var[i] //valeur actuel du tableau dans la boucle
next
return valeur as "valeur la plus proche sous le pivot"
Quel talent !
Merci nicolas, je vais tester tout ça.
Tu m’as devancé Nicolas 🙂 … tu as déjà ajouté le lien vers le code tableau ci-dessus comme Log 350 ici …
Bibliothèque de liens d’extraits