Haskell

Programovacie jazyky, rady, poradňa...
martintv
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 01 feb 2011, 19:59

Haskell

Príspevok od používateľa martintv »

Zdravim, je tu nejaky zdatny haskell programator? :D mam mensi problem s programom, ak niekto tu taky je a ma cas 5 minut nech mi napise PM, vdaka
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Haskell

Príspevok od používateľa BX »

Si na verejnom fóre. Ak máš problém, zverejni ho, nech je na očiach.
martintv
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 01 feb 2011, 19:59

Re: Haskell

Príspevok od používateľa martintv »

BX napísal:Si na verejnom fóre. Ak máš problém, zverejni ho, nech je na očiach.

type HashedPassword = Int
type PassDB = [(String, HashedPassword)]
db :: PassDB
db = [("Matus",258724081),("Mattias",17496271),("Konkol",914711)]
login :: PassDB -> String -> String -> Bool
login [] x y = False
login (d:db) x y | (fst d == x) && (snd d == foldl code 0 y) = True
| otherwise = login db x y
where code x y = x * 20 + ord y
addPassword :: (String,String) -> PassDB -> PassDB
addPassword (x,y) db = (x,foldl code 0 y):db
where code x y = x * 20 + ord y

mam takyto kod, neviem proste co zadat na vstup, ak mi niekto moze pomoct bol by som vdacny
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8222
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Haskell

Príspevok od používateľa harrison314 »

Ja sa v Haskelly trochu vyznam, len si daj ten kod tak ako ma byt (podla pravidiel) a specifikuj co znamena "co zadat na vstup".
martintv
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 01 feb 2011, 19:59

Re: Haskell

Príspevok od používateľa martintv »

mam ho podla pravidiel, len tu ho prehodilo trosku, viem pridat pouzivatela do db ale potom mi uz login stale hadze false,
proste mi nehodi true, neviem preco, nevie niekto fakt poradit?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8222
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Haskell

Príspevok od používateľa harrison314 »

nemas kod patri do tagov code,
skus zmazat
riadky

Kód: Vybrať všetko

db :: PassDB
db = [("Matus",258724081),("Mattias",17496271),("Konkol",914711)]
Podla mna moze robit problem to, ze mas "premennu" db aj funkciu db

//autoeditácia príspevku (03 Apr 2013, 18:36)
este je druha moznost - tie funkcie pouzivas zle
martintv
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 01 feb 2011, 19:59

Re: Haskell

Príspevok od používateľa martintv »

7. Definujte funkciu, ktorá realizuje prihlasovanie používatela do systému. Nech
funkcia ako parametre prijíma databázu používatelov, meno a heslo. Heslá sú
v databáze ukladané v šifrovanej podobe.
type HashedPassword = Int
type PassDB = [(String, HashedPassword)]
login :: PassDB -> String -> String -> Bool

Definujte tiež funkciu pre pridanie používatela do databázy.
addPassword :: (String,String) -> PassDB -> PassDB

ako by si to ty robil? toto mam za ulohu...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8222
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Haskell

Príspevok od používateľa harrison314 »

Zdanie mas hotove, mne tie vsetky funkcie pripadaju v poriadku.
Nechaj si vypisat co vrati addPassword ("aaaa","bbb") []
Napísať odpoveď