Salut tout le monde
je suis un peu perdue, je voudrais faire une fonction Haskell qui fait la chose suivante:
je donne une liste des cd à ma fonction , et elle doit me retourner la même liste sans doublons et en additionnant le nombre de cd qui sont pareils (meme nom et meme langue)
bien évidement cette fonction ne me donne pas exactement ce que je veux!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 data Lang = Fr | Ang | Ar diriving (Eq, Show) data Cd = disque String Int Lang diriving (Eq, Ord) sansDoublons :: [Cd] -> [Cd] sansDoublons [] = [] sansDoublons (c:cs) = sansDoublons cs ++ enlever c cs enlever :: Cd -> [Cd] -> [Cd] enlever c1 [] = c1 enlever (disque n q u) (disque n1 q1 u1:ys) = |n==n1 && u==u1 = (disque n1 (q1 + q) u1) |otherwise = enlever(disque n q u) : ys
Merci d'y jeter un œil et de me dire ce qui ne va pas
Partager