Der Text wird nach dem Suchstring durchsucht,
das letzte Vorkommen des Suchstrings im Text wird einschließlich einer
links- und rechtsseitigen Umgebung von je (bis zu) fünf Zeichen
ausgegeben; falls der Suchstring nicht im Text vorkommt,
soll "Nichts gefunden." ausgegeben werden.
Eingabe Text: "Ich habe Probleme mit Strings."
Suchstring: "in"
Ergebnis: "t Strings."
Hat jemand einen Gedankenspruch für uns, da wir nicht weiterwissen.
No comments like do your homework on your on pls!
Diese Hausaufgabe ist doch recht einfach zu lösen.
Das Problem ist in zwei Schritte zu zerteilen:
1. Suchen des angegebenen Strings.
2. Ausgabe der "Umgebung" des Treffers.
Dabei ist die Position des Treffers aus 1. im Gesamtstring und die Länge
des Gesamtstrings zu berücksichtigen.
Im Beispiel liegt der Treffer sehr dicht am Ende des Gesamtstrings, so
daß nur noch weniger als 5 Zeichen davon ausgegeben werden können (denn
wo nichts ist, ist nichts).
Nein die Fragestellung lautet ja ;-)
der letzte Teilstring...
Bsp:
"Warum ist so ein schlechtes Wetter heute puhh!"
suchstring = "eu"
Ausgabe = "ter heute pu"
Heinrich Schmidt schrieb:> Hat jemand einen Gedankenspruch für uns, da wir nicht weiterwissen.
Kauf dir 'nen C-Buch, oder was ist ein Gedankenspruch?
Ansonsten ein paar Stichworte:
strtok()
Zeiger
memcpy()
oder
irgendeine Suchmaschine "string teilen" oder ähnliche Suchworte
Heinrich Schmidt schrieb:> No comments like do your homework on your on pls!
Warum auch, wenn ich Gedankenspruch richtig interpretiere, braucht
ihre Denkanstöße, da oben stehen vier. Plus Rufus' Beitrag.
Heinrich Schmidt schrieb:> Nein die Fragestellung lautet ja ;-)> der letzte Teilstring...>> Bsp:> "Warum ist so ein schlechtes Wetter heute puhh!"> suchstring = "eu"> Ausgabe = "ter heute pu"
Passt gar nicht, oder?
Bsp:
"Warum ist so ein schlechtes Wetter heute puhh!"
suchstring = "te"
Ausgabe = "r heute pu"
und
Ausgabe = "s Wetter heute pu"
wäre falsch.
Heinrich Schmidt schrieb:> Hat jemand einen Gedankenspruch für uns, da wir nicht weiterwissen.
Ja:
erledige es in 2 Teilschritten wie schon angedeutet.
Der erste Teilschritt ist trivial: Den Teilstring suchen.
Von optimal ist ja nicht die Rede, daher: ihr könnt das so einfach
machen wie ihr wollt. Wie machst du es denn von Hand? Du fängst links,
beim ersten Zeichen an und siehst nach, ob hier ein entsprechender
Teilstring vorhanden ist. Wenn ja merkst du dir die Position. Dann
probierst du beim 2.ten Zeichen, dann beim 3.ten etc. etc.
Die AUfgabe dürfte bewusst so gestellt sein, dass man sein Wissen über C
Strings unter Beweis stellt und man mit den Standard-C str... Funktionen
nicht sehr weit kommt. Zumindest gibt es keine Standard Funktion, die
alles in einem Aufwasch erledigt, sondern man muss kombinieren. Aber
genau darum gehts ja schliesslich in der Programmierung.
Ja das hatten wir bemerkt
> Die AUfgabe dürfte bewusst so gestellt sein, dass man sein Wissen über C> Strings unter Beweis stellt und man mit den Standard-C str... Funktionen> nicht sehr weit kommt.
wir dachten jedoch daran von hinten anzufangen zu zählen und den
suchstring zu drehen ...
Heinrich Schmidt schrieb:> Ja das hatten wir bemerkt>> Die AUfgabe dürfte bewusst so gestellt sein, dass man sein Wissen über C>> Strings unter Beweis stellt und man mit den Standard-C str... Funktionen>> nicht sehr weit kommt.>> wir dachten jedoch daran von hinten anzufangen zu zählen und den> suchstring zu drehen ...
clever.
Also: Haut rein!
Εrnst B✶ schrieb:> C++ sollte ja in Ordnung sein, ist Teil vom GCC und nirgendwo steht was> abweichendes ;)
Jetzt fehlt noch eine Ada-Version des Programms (GNAT) :)