Guest User

Untitled

a guest
Jan 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. -- p2
  2. -- Construa a funcao unicos::[Int]->[Int] que dada uma lsita de inteiros,
  3. -- retorna uma lista contendo os valores que ocorrem apenas uma vez na
  4. -- lista de entrada.
  5.  
  6. unicos :: [Int] -> [Int]
  7. isMember :: Int -> [Int] -> Bool
  8. elimina :: Int -> [Int] -> [Int]
  9.  
  10.  
  11. isMember n lista = [ x | x <- lista, n == x ] /= []
  12. elimina n lista = [ x | x <- lista, x /= n]
  13.  
  14. unicos [] = []
  15. -- se a cabeca aparece na calda:
  16. -- elimina cabeca da calda e faz recursao sobre o resultado
  17. -- se nao adiciona cabeca mais recusao sobre a calda
  18. unicos (h:tail)
  19. | isMember h tail = unicos (elimina h tail)
  20. | otherwise = [h] ++ unicos tail
Add Comment
Please, Sign In to add comment