Guest id194 Posted October 27, 2006 at 10:44 PM Report #60446 Posted October 27, 2006 at 10:44 PM O problema não é bem o que está no tópico mas a minha dúvida é essa... Penso que sabendo isso, consigo solucionar o resto do problema, esta cena é que me está a comer a cabeça toda! O que eu pretendo é converter determinado inteiro numa lista de inteiros, ou seja, a função recebe um inteiro do género 87623 e retorna uma lista do género [8, 7, 6, 2, 3]. Existe alguma função para isto? Andei à procura na documentação do Prelude, mas não encontrei nada, se estará noutro módulo, também não sei... Ou será que é possível sacara cada digito do inteiro usando apenas matemática? Acho que é isto que a prof pretende mas já andei às voltas e não consigo arranjar maneira de separar os dígitos. Não deve existir muitos entendidos de Haskell por aqui, mas se alguém puder ajudar, era agradecido 😄
Rui Carlos Posted October 27, 2006 at 10:52 PM Report #60447 Posted October 27, 2006 at 10:52 PM f :: Int -> [int] f 0 = [] f x = (f (div x 10)) ++ [mod x 10] não tenho a certeza, mas penso que funciona... EDIT: para números negativos é capaz de dar problemas... Rui Carlos Gonçalves
Guest id194 Posted October 28, 2006 at 03:56 PM Report #60576 Posted October 28, 2006 at 03:56 PM Era mesmo isso, obrigado... eu e a matemática... mas também, apesar de conhecer o mod, não conhecia o div em haskell... os números negativos, não é problema... po exercicio em questão, são sempre positivos. Tive aqui a tarde toda a estudar e tenho mais umas duvidas que vou colocar noutros tópcios para não misturar...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now