www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

andrea678

Gepostet:
15.06.2006 01:43

Kombinieren zweier Funktionen  
Hallöle,

ich habe zwei funktionen:

Element_in_Liste :: Eq a => a -> [a] -> Bool
Element_in_Liste a [] = False
Element_in_Liste a (x:xs)
| a==x = True
| otherwise = Element_in_Liste a xs


delete_einzeln :: Eq a => a -> [a] -> [a]
delete_einzeln a [] = []
delete_einzeln a (x:xs)
| a==x = xs
| otherwise = x:delete_einzeln a xs


Ich habe nun eine Liste mit n Elementen und möchte diese mit einer anderen vergleichen
Z.B
>Vergleich [1,3] [1,2,3]
>True
>Vergleich [2,1] [1,2]
>True
>Vergleich [1,1] [1]
>False

Für Vergleich brauche nun die oben erstellten Funktion
Ist das 1. Element in der Listen wird es gelöscht und dann wird 2. Element überprüft u.s.w

Wie kann ich nun die Funktion Vergleich erstellen mit den obigen Funktion ???

Vielen Dank für jede Hilfe...
Zum Seitenanfang    
 
Jacke

Gepostet:
15.06.2006 08:40

   
element_in_Liste :: Eq a => a -> [a] -> Bool
element_in_Liste a [] = False
element_in_Liste a (x:xs)
| a==x = True
| otherwise = element_in_Liste a xs

delete_einzeln :: Eq a => a -> [a] -> [a]
delete_einzeln a [] = []
delete_einzeln a (x:xs)
| a==x = xs
| otherwise = x:delete_einzeln a xs


vergleich (x:xs) [] =False
vergleich [] liste2 =True
vergleich (x:xs) liste2
|(element_in_Liste x liste2) =True && (vergleich xs (delete_einzeln x liste2))
|otherwise =False


so das geht ...ich hab einfach deine funktion element in Liste für die if abfrage benutzt und vergleich mit der verkürzten liste2 aufgerufen...Smilie

gruß jacke
Zum Seitenanfang