diff options
[FP/HW3] Added comments to first exercise
1 files changed, 5 insertions, 0 deletions
| -rw-r--r-- | Year 2/Functional Programming/hw3.hs | 5 |
diff --git a/Year 2/Functional Programming/hw3.hs b/Year 2/Functional Programming/hw3.hs index 041c24d..2b1b864 100644 --- a/Year 2/Functional Programming/hw3.hs +++ b/Year 2/Functional Programming/hw3.hs @@ -6,13 +6,18 @@ generate as bs = asiter as bs (head as) asiter [] _ _ = [] asiter as bs minm | head as < minm = asiter (tail as) bs minm + -- Минаваме през всеки елемент от as и строим всички редици, които започват с него | otherwise = bsiter as bs (head as) ++ asiter (tail as) bs (head as) bsiter _ [] _ = [] bsiter as bs minm | head bs < minm = bsiter as (tail bs) minm + -- Минаваме през всеки елемент от bs и строим редици + -- Първият елемент, започващ с as и сегашния bs | otherwise = [[head as, head bs]] + -- Всички редици, които започват с [as, bs], тоест строим всички възможни редици без сегашните глави на as и bs ++ (map (\x -> [head as, head bs] ++ x) (asiter (tail as) (tail bs) (head bs))) + -- Следващ елемент от bs ++ bsiter as (tail bs) (head bs) -- Задача 2 |
