tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
907
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Anima97 Anima97 ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    21
    Hey,

    ich arbeite zurzeit an einem kleinen Programm, das Polynome symbolisch ableiten kann.
    Ich habe mir dazu eine kleine Funktion gebastelt, die einzelne Polynome wie x^2 ableiten tut (also nicht sowas wie -2x^2 + 6x + 8).
    Jetzt möchte ich in einer for-Schleife den String mit der mathematischen Funktion aufsplitten und in einzelne Teile zerlegen, d.h. das Programm soll während der Schleife alle Ausdrücke zwischen + und - in ein Array packen.
    Aus -2x^2 + 6x + 8 soll dann '-2x^2', '6x' und '8' ausgelesen werden.

    Gibt es eine Art split()-Methode in Delphi, mit der man sowas machen kann?
     

  2. #2
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    Hi,

    keine Ahnung ob's split gibt, aber auf jeden Fall gibt's die normalen String Operationen.
    Was mir jetzt auf die Schnelle einfällt wäre:

    - initialisiere ARRAY[]
    - den Quellstring ab in nen BUFFER und den nehmen wir für alle folgenden Operationen
    - alle Zeichen die als Trenner dienen mit einem anderen Zeichen ersetzen (REPLACE ... vielleicht #)
    - loop, solange BUFFER.length > 0
    --- Zähler hochzählen (mit For loop direkt im Schleifenkopf)
    --- StringPosition = StringPos(BUFFER, Zeichen #)
    --- ARRAY[Zähler] = SubString(BUFFER, 0, StringPosition Zeichen #) ACHTUNG: Du musst prüfen ob BUFFER > 0 wenn StringPosition kein Zeichen mehr findet, dann ab mit dem restlichen BUFFER in ARRAY und BUFFER = NULL setzen
    --- Delete (BUFFER, 0, StringPosition Zeichen # +1)
    - end loop, ARRAY enthält die Teilstücke zwischen den # Zeichen

    Das funktioniert aber nur wenn man immer spaces zwischen den echten Operatoren hat " + ", dann kann man nämlich diesen string " + " mit "#" ersetzen und ersetzt nicht aus versehen das Vorzeichen der negativen zwei "-2" mit.
     
    ...every second is a new spark, sets the universe aflame
    (Bruce Dickinson)

    Got something to say? http://www.plaintalk.de

Ähnliche Themen

  1. Eclipse TERM Variable
    Von Sebastian Seidelmann im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 25.09.07, 09:48
  2. aufsplitten
    Von smoerre im Forum PHP
    Antworten: 5
    Letzter Beitrag: 10.04.06, 15:49
  3. String aufsplitten
    Von tinella im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.02.06, 23:40
  4. Gästebuch aufsplitten?
    Von Birdie501 im Forum PHP
    Antworten: 14
    Letzter Beitrag: 27.01.05, 15:23
  5. String aufsplitten
    Von maceo im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.09.04, 18:47

Stichworte