Jump to content

Comparação entre Pares


AprendizZ
 Share

Recommended Posts

Caros amigos, preciso de ajuda no seguinte:

Tenho dois pares formatados (String1,[string1]) (String2,[string2]) e preciso de verificar se a String1 existe na [string2].

Caso exista dá como resultado a String2 concatenada com a [string1]. Confuso não?

Já elaborei o seguinte código:

type Contact = (String,[string])

ver :: [Contact] -> [Contact] -> String
ver (x1,xss) (y1,yss)
| p2 x1 yss /= [] = y1
| otherwise = ver xss (y1,yss)

p2 :: String -> [string] -> [string]
p2 y xs = [c | c <- xs, elem y xs]

mas isto não está a funcionar pois deve faltar alguma coisa, só não sei onde.

Também é provável que exista alguma formula mais simplificada para fazer isto,

mas como sou iniciado no Haskell...

Obrigado, desde já.

Link to comment
Share on other sites

Não seria mais (para fazer a verificação)....

ver :: [Contact] -> [Contact] -> Bool
ver (x1,xss) (y1,yss) = isIn x1 yss
    where
        isIn x1 [] = False
        isIn x1 (x:xs) = x1 == x || isIn x1 xs

?

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Não ajudou muito.

Deu erro na compilação dizendo não estar de acordo com o o tipo.

E agora?

(se n funcionar tira a assinatura)

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

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.