Hallo,
das hier ist mein erster Post in diesem Forum und ich hoffe im richtigen Bereich, deswegen bitte ich um Nachsicht.
Also, wir haben in der Uni folgende Aufgabe:
Zitat: |
Deklarieren Sie ausgehend von der angegebenen Typdeklaration und dem angegebenen Prozedurkopf die Prozedur LoescheNamen.
type TGeschlecht = (maennlich, weiblich);
procedure LoescheNamen (var Eingabe : string; Geschlecht : TGeschlecht);
Im String-Wert von Eingabe soll die Zeichenfolge gelöscht werden, die sich jeweils an alle Vorkommen der Zeichenfolge 'Herr ' (wenn der Parameter Geschlecht den Wert maennlich hat) oder an die Zeichenfolge 'Frau ' (wenn der Parameter Geschlecht den Wert weiblich hat) anschließt und sich bis zum nächsten Leerzeichen erstreckt. Anstelle der gelöschten Zeichenfolge soll ein Fragezeichen in den String-Wert von Eingabe eingefügt werden.
Wenn 'Herr ' bzw. 'Frau ' ganz am Ende des String-Werts von Eingabe stehen soll, dort natürlich nichts mehr gelöscht/eingesetzt werden.
Zur Vereinfachung können Sie ansonsten davon ausgehen, dass hinter 'Herr ' bzw. 'Frau ' eine Zeichenfolge kommt, die an irgendeiner Stelle sicher ein Leerzeichen enthält, bis zu dem dann gelöscht werden soll.
Beispiel für die Wirkung der Prozedur:
Parameter Eingabe
'Herr Maier u. Herr Müller treffen Frau Schmidt dort.' ParameterGeschlecht maennlich
beim Aufruf
Parameter Eingabe nach Aufruf
'Herr ? u. Herr ? treffen Frau Schmidt dort.'
'Herr Maier u. Herr Müller treffen Frau Schmidt dort.' Parameter Geschlecht weiblich
Parameter Eingabe beim Aufruf
'Herr Maier u. Herr Müller treffen Frau ? dort.' |
Ich habe das jetzt ungefähr so gelöst:
1. Ich nach dem Geschlecht und lege dieses zugewiesen auf "Frau" oder "Mann" in einer Variablen ab.
2. Ich suche nach eben diesem in meinem String
3. Ich addiere +5 auf diesen Wert und bekomme den Anfang des Wortes nach Frau/Mann
4. Ich gucke mit einem weiteren Pos nach dem nächsten Leerzeichen nach Frau/Mann
5. Ich ziehe die beiden von einander ab löschen einfügen bla bla
Aber ich kann mir nicht vorstellen das die Lösung in irgendeiner Form richtig ist.
Es dürfen keine Funktionen, außer den Standartdingern verwendet werden. (Stringreplace etc.)
Wäre super wenn mir jemand helfen kann!
Moderiert von Narses: Beitragsformatierung überarbeitet: code- gegen quote-Tag getauscht.