Remove special case handling for UE1 A.3, add comments
This commit is contained in:
parent
64bb0164c9
commit
e1614ad91f
@ -1,5 +1,7 @@
|
||||
module Angabe1 where
|
||||
|
||||
import Data.List
|
||||
|
||||
{- 1. Vervollstaendigen Sie gemaess Angabentext!
|
||||
2. Vervollständigen Sie auch die vorgegebenen Kommentaranfänge!
|
||||
3. Loeschen Sie keine Deklarationen aus diesem Rahmenprogramm, auch nicht die Modulanweisug!
|
||||
@ -70,15 +72,18 @@ find_tzr_position (z:zs) t n
|
||||
| otherwise = find_tzr_position zs t (n + 1)
|
||||
|
||||
-- Aufgabe A.3
|
||||
{- Knapp, aber gut nachvollziehbar geht tzr_zeugen folgendermassen vor:
|
||||
...
|
||||
{- Solution:
|
||||
- the base cases are as follows:
|
||||
- both strings are empty, return an empty array
|
||||
- the second string is not a substring of the first, return an empty array
|
||||
- for handling the other cases:
|
||||
- find a possible split and add it to the results array
|
||||
-}
|
||||
|
||||
tzr_zeugen :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen
|
||||
tzr_zeugen [] [] = []
|
||||
tzr_zeugen z t
|
||||
| not (ist_tzr z t) = []
|
||||
| wieOft z t == 1 = [tzr_zeuge z t]
|
||||
| otherwise = get_all_substring_variants z t []
|
||||
|
||||
get_all_substring_variants :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen -> Zerlegungszeugen
|
||||
|
Reference in New Issue
Block a user