• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nazgulled

[Haskell] Converter inteiro para lista de inteiros

3 mensagens neste tópico

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 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora