En OCaml comment j'écrirais une fonction médiane qui prend 5 arguments et renvoie la médiane. Par exemple med5 2 5 7 4 3
renverrait .Fonction qui renvoie la médiane? (OCaml)
j'ai réussi à écrire une fonction MED3 (retourne la médiane des 3 arguments) en utilisant si et déclarations d'autre mais ce serait ridiculement complexe si je tentais la même technique pour 5 arguments :(
let med3 a b c =
if ((b<=a && c>=a) || (c<=a && b>=a)) then a
else if ((a<=b && c>=b) || (c<=b && a>=b)) then b else c;;
Pour la med5 Je voudrais pouvoir utiliser les fonctions min et max (intégrées à OCaml) pour supprimer les valeurs les plus hautes et les plus basses de l'ensemble des 5 arguments, puis utiliser la fonction med3 que j'ai déjà écrite pour renvoyer la médiane des 3 arguments restants, mais comment rejeter les arguments minimum et maximum!?!?!?!?
Toute aide serait très appréciée :)
à moins que je ne me trompe pas, 'med5 2 5 7 4 3' est' '4' et non 3' – Virgile
Haha, votre droit tout à fait, merci pour cette remarque :) – brnby