Forum: Algorithmen, Datenstrukturen und Klassendesign
by runningsoft,
4. Jun 2021
Kanns grad nicht testen, aber in deiner repeat - Schleife löschst Du ein Zeichen deines Strings wenn es sich um eine Ziffer handelt und verkürzt anschließend deinen Zähler (run) trotzdem noch um 1. Somit überspringst du für den Fall, dass du bereits vorher eine Ziffer gelöscht hast, ein Zeichen in deinem string.
while endNotFound do
begin
repeat
case s of
'0' .. '9':...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by runningsoft,
3. Jun 2021
Du könntest in einem try ... exceptBlock zeichenweise prüfen, ob das betreffende Zeichen in deinem string eine Ziffer ist oder nicht, und mitzählen, wieviele Ziffern du bereits aufeinanderfolgend hattest.
Kommst du auf eine Nicht-Ziffer, setzt du deinen Zähler wieder auf 0 zurück.
Hier mein Lösungsvorschlag:
function longestNumber(s : string) : word;
var run , number, tempresult, ziffer :...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by runningsoft,
3. Jun 2021
Wie sieht denn dein String, der der Funktion übergeben wird aus? Und was hast du schon an code?