o exercicio é:
uniao: recebe duas listas que não contenham elementos repetidos e retorna uma nova com todos os elementos das duas listas originais (sem repetição)
ex.:
(uniao '(3 6 5 7) '(2 9 7 5 1)) ==> (3 6 5 7 2 9 1)
_________________________________________________________
alguem me da um help ae o/
esse exercicio ta me dando nó, na funcao compara, na primeira guarda, o retorno ta errado e nao consigo solucionar
compara :: [Int] -> [Int] -> [Int]
compara _ [] = []
compara [] _ = []
compara (a:x) (b:y)
|a == b = compara (compara x (b:y))(compara (a:x) y)
|otherwise = b : compara (a:x) y
uniao :: [Int] -> [Int] -> [Int]
uniao a [] = a
uniao [] a = a
uniao x y = x ++ compara x y
parece que quando a lista é crescente por exemplo [1,2][1,2,3,4] a resposta sai [1,2,2,3,4] e decrescente [1,2][4,3,2,1] fica [1,2,4,3,2]
ja me deu tilt
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar