
Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Готовые лабораторные работы / 2 / 215
.hs -- Описать функцию, осуществляющую циклический сдвиг списка влево на n позиций (n крайних слева элементов перемещается в конец списка)..
f215 l n = klei (f214_2 l n) (f214_1 l n)
f214_2 [] a = error "Range Error"
f214_2 l 0 = l
f214_2 (a:l) n = f214_2 l (n-1)
f214_1 [] a = error "Range Error"
f214_1 l 0 = []
f214_1 (a:l) n = a:(f214_1 l (n-1))
klei [] l2 = l2
klei (a:l1) l2 = a:(klei l1 l2)
mylength [] = 0
mylength (a:as) = 1 + mylength as
f215 l n = klei (f214_2 l n) (f214_1 l n)
f214_2 [] a = error "Range Error"
f214_2 l 0 = l
f214_2 (a:l) n = f214_2 l (n-1)
f214_1 [] a = error "Range Error"
f214_1 l 0 = []
f214_1 (a:l) n = a:(f214_1 l (n-1))
klei [] l2 = l2
klei (a:l1) l2 = a:(klei l1 l2)
mylength [] = 0
mylength (a:as) = 1 + mylength as
Соседние файлы в папке 2