Jump to content
nuno35

Funções com Tipos de dados

Recommended Posts

nuno35

Boa Tarde, preciso aqui de uma ajuda tenho estes dois tipos de dados e estou a tentar fazer estas 3 funções ate agr tenho este codigo se alguem me conseguir dar uma ajuda

Data Cor = Vermelho | Azul | Cinzento deriving Show
Data Carro = Carro cor (Maybe Carro) deriving Show

Basicamente pode ir havendo um carro dentro do outro

1 - Recebe um tipo de dado carro e devolve uma lista com todas as cores
 

Lista_Cores :: Carro -> [Cor]
Lista_Cores Carro c (Nothing) = [c]
Lista_Cores Carro c (Car) = [c] : Lista_Cores Car

2 - Recebe um cor um tipo de dado carro e devolve numero de carros com cor = cor 
 

Num_Cor :: Cor -> Carro -> Int
Num_Cor cor Carro c (Nothing) = if cor == c then 1 else 0
Num_Cor cor Carro c (Car)=  if cor == c then 1 + Num_Cor cor Car

3 - O tipo de dados Cor ser Eq gerada pelo par Vermelho == Azul nao percebo bem esta parte de ser gerada por este par 

 

Desde ja Obrigado 

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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