Registriert seit: 3. Dez 2007
3 Beiträge
|
Suchen und Ersetzen
3. Dez 2007, 17:40
Hi, ich programmiere einen FUnktionsplotter für die Schule der ganzrationale Funktionen zeichen soll. Bei Funktionen wie 3x^3+x^2 entstehen keine Probleme. Allerdings bekommt mein Programm Probleme wenn das "Potenzzeichen" fehlt, also da wo man einfach ^1 dahinter schreiben könnte. Ich möchte jetzt den ganzen String nach solchen Problemstellen durchsuchen und ^1 anfügen.
Beispiel: Aus 3x^3 + x + 5 ---> 3x^3 + x^1 + 5^1
Wie mache ich das jetzt am besten? Ich weiß nicht genau wonach ich suchen soll und ich glaube, dass es bei der Konstanten am Schluss ein Problem geben könnte. Ich hab hier mal nen Ansatzt entwickelt, bei dem ich alle Möglichkeiten an denen das Programm eingreifen müsste (x+ , x-, und dann prinzipiell alle Konstanten die alleine stehen ) selbstständig ^1 ergänzen soll. Allerdings gibt das Probleme und ist nicht besonders effizient. Wer hat eine bessere Lösung?
var
Eingabeterm:string;
i:integer;
---
Eingabeterm:=frmPlotter.edtEingabe.text;
for i:= 1 to length(Eingabeterm) do begin
if Eingabeterm[i]= 'x+' then
Eingabeterm:=StringReplace(Eingabeterm,
'x+', 'x^1+', [rfReplaceAll]);
frmPlotter.edtEingabe.text:=Eingabeterm;
---
|