max(a,b) = (a + b + |a-b| ) / 2
min(a,b) = (a + b - |a-b| ) / 2
mais sinon il faut que tu te fasses un #define (je crois)
mamiemando
Modérateur
Tu peux le faire avec un #define mais pas obligatoirement. La syntaxe change, et dans la version #define, c'est changé par le précompilateur à chaque occurence de min et de max trouvé. Ca ressemble un peu au inline du c++ (comprendre par là que les fonction de ce type doivent être de taille raisonnable).
Bonne chance
ubu
La norme C99 défini les fonctions fmin et fmax qui retournent le minimum et le maximum de 2 doubles en entrée.
Pour un tableau, la meilleure méthode est encore la première solution donnée.
On peut envisager de faire un tri (qsort de la stdlib) mais c'est un peu lourd surtout si le tableau est gros.
mamiemando
Modérateur
Et bien si tu utilises la stl c'est upper_bound et lower_bound.