Bonjour,
j'ai un problème dont j'ai du mal à trouver seul la solution...
Le principe : je dois trouver un élément (n'importe lequel mais il est sans doute unique) dans une liste qui vérifie une relation avec tous les autres éléments de la liste.
J'ai essayé d'utiliser une fonction auxiliaire dont un argument sera à donner dans la fonction finale récursive, mais j'ai toujours un TopLevel input avec
This expression has type.. ..but is used with type.. :
a est la liste en question ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let rec min_p o a = fun | _ [] -> failwith("pas de min >> ce cas ne doit pas arriver normalement") | (o) (t::q) -> if aux o t a = true then (t,q) else min_p o q ;;
o est un argument nécessaire pour la fonction aux ;
aux est une fonction récursive qui renvoit true si l'élément t est en relation avec tous les éléments de a (relation d'ordre totale du style <= )
Je sens que ce problème est lié au fait que le test aux o t a = true est déjà un test récursif ou quelque chose comme ça...
Pourriez-vous m'éclairez (sur le principe de fonctionnement d'un tel algo) s'il vous plaît ?
Merci d'avance!
Partager