Bonsoir,
j'éprouve quelques difficulté à réaliser la fonction suivante
la fonction doit prendre deux listes de couples.
La fonction devra retourner une liste de couples tels quel le premier élément de la liste 1 est aussi un second élément de la liste 2.
Sauf que, je ne sais pas comment je peux m'en sortir pour sauvegarder mon résultat après chaque passage
Concrètement j'ai un truc de ce style
avec appartient qui me permet de savoir si l'élément b apparaît en tant que premier élément de la liste de couple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let rec composition = fun l1 -> fun l2 -> match l2 with | [] -> [] | (a,b)::l22 -> if(appartient b l1) then ... else composition l1 l22;;
en gros
appartient 1 [(2,1);(1,4)] renvoit true
appartient 1 [(2,1);(3,4)] renvoit false
Il me faudrait soit réussir à supprimer les éléments de l1 qui ne correspondent pas, soit reconstruire une liste de zéro mais sans changer l1 et l2 pour ne pas fausser le résultat final...et là en restant purement fonctionnel je vois pas du tout comment je peux faire ça...
Partager