www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

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

Logo - DracheHaskell-Forum

vorherige Seite 1 2 3  

Jacke

Gepostet:
01.09.2005 21:22

   
so das sind alle antworten:

morsecode=[('A',".-"),('B',"-..."),('C',"-.-."),('D',"-.."),('E',"."),('F',"..-."),('G',"--."),('H',"...."),('I',".."),('J',".---"),('K',"-.-"),('L',".-.."),('M',"--"),('N',"-."),('O',"---"),('P',".--."),('Q',"--.-"),('R',".-."),('S',"..."),('T',"-"),('U',"..-"),('V',"...-"),('W',".--"),('X',"-..-"),('Y',"-.--"),('Z',"--..")]


tomorse :: Char->String
tomorse b =tomorse2((morsecode),b)


tomorse2 :: ([(Char, String)],Char) -> String
tomorse2 ([],b)=""
tomorse2 (((n, m):xs),b)
| b==n = m
|otherwise = tomorse2(xs,b)


tozeichen :: String->Char
tozeichen b =tozeichen2((morsecode),b)


tozeichen2 :: ([(Char, String)],String) -> Char
tozeichen2 ([],s)=' '
tozeichen2 (((n, m):xs),s)
| s==m = n
|otherwise = tozeichen2(xs,s)
--textkodieren "AbC" ----> [".-","-...","-.-."]

textkodieren::String ->[String]
textkodieren []=[]
textkodieren (x:xs)=tomorse(toUpper(x)):textkodieren(xs)

textdekodieren::[String] ->String
textdekodieren []=[]
textdekodieren (x:xs)=(tozeichen(x)):textdekodieren(xs)



alph=[('A','a'),('B','b'),('C','c'),('D','d'),('E','e'),('F','f'),('G','g'),('H','h'),('I','i'),('J','j'),('K','k'),('L','l'),('M','m'),('N','n'),('O','o'),('P','p'),('Q','q'),('R','r'),('S','s'),('T','t'),('U','u'),('V','v'),('W','w'),('X','x'),('Y','y'),('Z','z')]

toUpper2::([(Char,Char)],Char)->Char
toUpper2 ([],b)=' '
toUpper2 (((n, m):xs),b)
| b==n = n
| b==m = n
|otherwise = toUpper2(xs,b)

toUpper::Char ->Char
toUpper b= toUpper2 (alph,b)

moressound ::[String]->String
moressound []=""
moressound (x:xs) = moressound2(x)++moressound(xs)

moressound2::String->String
moressound2 (x:[])
|x=='.' ="dit "
|otherwise ="daa "
moressound2 (x:xs)
|x=='.' ='d':'i' : moressound2(xs)
|otherwise ='d':'a': moressound2(xs)


die mapsache mache ich dann morgen^^ ist doch ganz schön viel schreibarbeit
dafür funktioniert alles...

ich mach ein praktikum 12 wöchiges in nen wissenschaftlichen institut...und programmier da ne anwendung in perl und java...

gruß jacke
Zum Seitenanfang    
 
Icegirl

Gepostet:
04.09.2005 12:35

   
so hab die erste aufgabe auch selber codiert und habe mit deins überprüft und es funktioniert *froi*
nur mitm morsesound funktioniert nicht, muss mir gleich nochmal deins näher angucken, wie du es geschrieben hast.
du? in haskell ist doch "toUpper" und "map" feste Funktionen oder? warum zeigt es mir immer fehler an, dass es gar nicht definiert sind?
mir gefällt lieber java oder php, aber muss wohl noch ein halbes jahr lang mit haskell durchquälen Smilie
ich kann mich nur bedanken Smilie , dass es mir sehr hilft, denn so kann ich halt korrigieren und weiß in etwa wo meine fehler sind
Zum Seitenanfang    
 
Jacke

Gepostet:
05.09.2005 08:21

   
also map ist ne feste Funktion...und toUpper auch
aber ich mußte mir das toUpper auch nach programmieren

das hier ist die richtige deklaration von toUpper(so wie wir das in der uni hatten)

ord::Char->Int
chr ::Int ->Char

offset::Int
offset=ord 'A' - ord 'a'

toUpper::Char->Char
toUpper ch= chr (ord ch + offset)

Zum Seitenanfang    
 
Jacke

Gepostet:
05.09.2005 08:24

   
man kann das offset natürlich auch in die toUpper Funktion mit reinnehmen...das würde dann so aussehen:

ord::Char->Int
chr ::Int ->Char

toUpper::Char->Char
toUpper ch=chr (ord ch + (ord 'A' - ord 'a' ))


Smilie
Zum Seitenanfang    
 
Icegirl

Gepostet:
07.09.2005 23:44

   
ah danke schön, ich glaub, ich sollte mal öfters im net sein um dir schneller zu antworten. also bedanke mich herzlich.
wünsch dir dann mal einen schönen abend
Smilie
Zum Seitenanfang    
 

vorherige Seite 1 2 3