Jump to content

Haskell: proxima permutação


crislanio_macedo
 Share

Recommended Posts

Ok, está aí o enunciado. Estás à espera que to resolvamos?

Nós ajudamos e orientamos os membros a encontrarem a solução por si mesmos, e não damos soluções feitas.

Além do mais, pedir trabalhos feitos é contra as Regras do Fórum.

Portanto, o que já tentaste fazer? Quais são as tuas dúvidas concretas?

Knowledge is free!

Link to comment
Share on other sites

A função coloca um numero em uma lista e essa mesma lista retornará uma lista de lista:

*Main> coloca 12 [1,2,3]
[[12,1],[12,2],[12,3]]

coloca a [] = []
coloca a (y:u) =[a,y]:(coloca a u)

[1,2]
1:[ [1,2]] ++ 1[]

a função partes daria o conjunto das partes a saber : todas as posiveis permutações de valores da lista:

,mas ela retorna o erro:

Occurs check: cannot construct the infinite type: t0 = [t0]

Expected type: [t0]

Actual type: [[t0]]

In the return type of a call of `partes'

In the second argument of `coloca', namely `(partes l)'

Failed, modules loaded: none.

não sei como proceder com o problema, me ajudem !!!

partes [] = []
partes (x:l) = coloca x (partes l) ++ partes l
Edited by thoga31
Formatação do post + tags code + GeSHi
Link to comment
Share on other sites

A função coloca devolve um resultado do tipo [[t0]], e a função partes devolve [t0]. Estás a tentar unir uma list com uma list of list. É isto que o Haskell te está a dizer: "Expected type: [t0], Actual type: [[t0]]" - esperava o tipo [t0], mas obteve [[t0]], o que é inválido.

Knowledge is free!

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.