From 64bb0164c9ed2f20aba9055847194231671bac55 Mon Sep 17 00:00:00 2001 From: Ivaylo Ivanov Date: Fri, 15 Oct 2021 20:24:15 +0200 Subject: [PATCH] Add a function that will help with UE1 A.3 --- code/Aufgabe1.hs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/code/Aufgabe1.hs b/code/Aufgabe1.hs index f7f4380..665f976 100644 --- a/code/Aufgabe1.hs +++ b/code/Aufgabe1.hs @@ -78,7 +78,18 @@ tzr_zeugen :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen tzr_zeugen [] [] = [] tzr_zeugen z t | not (ist_tzr z t) = [] - | otherwise = [] + | wieOft z t == 1 = [tzr_zeuge z t] + | otherwise = get_all_substring_variants z t [] + +get_all_substring_variants :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen -> Zerlegungszeugen +get_all_substring_variants z t r + | not (ist_tzr z t) = r + | otherwise = + let + pos = (find_tzr_position z t 0) - 1 + new_res = r ++ [(tzr_zeuge z t)] + in + get_all_substring_variants (take pos z) t new_res -- Aufgabe A.4