Решенеия на задачите от упражненията

Седмица 6:РЕШЕНИЯ!!!

Седмица 6:РЕШЕНИЯ!!!

от Антон Николов -
Number of replies: 0

ws = [' ']
pu = ['!','.','?',',']
--Първата дума от низ
getWord [] = []
getWord (h:t) 
 |  elem h ws  = []
 |  otherwise = h:(getWord t)
--Изтрива първата дума от низ 
drE [] = []
drE (h:t)
 | elem h ws = t
 | otherwise = drE t
--Подрежда низа в списък от думи
spW [] = []
spW s = (getWord(s)):(spW (drE(s)))

cS [] = []
cS (h:t)
 | elem h pu = cS t
 | otherwise = h:(cS t)

--Само уникалните елементи
unW [] = []
unW (h:t)
 | [ s | s<-t , s == h ] == [] = h:(unW t)
 | otherwise = unW t

---bR s = length( unW( (spW (s) ) ) ) 

--Броя на уникалните елементи по ред на появяване в низа
bR [] = []
bR (h:t) = ((length [ s | s<-t ,s == h]) + 1) : (bR [ s | s<-t ,s /= h ])