Autor Beitrag
XZeranski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Mi 04.06.03 15:48 
Hallo, stehe vor einem Problem, dass für mich relativ komplex ist, und ich einen Denkanstoß brauche.

Folgende Sache soll gemacht werden:

Ich habe als String z.b.! vorliegen : "x^2+sin(3*(x+2)-3)+3*(x+3)"
Wie schaffe ich es folgende Schreibweise hinzubekommen wenn ich aber nicht weiß das ich die oben genannte Funktion habe (also es könnte auch eine komplett andere sein)

"x^2+ sin ( (3*x(x+2)-3) * 55,7 ) +3*x(+3)"

Ich habe schon versucht mit pos ranzugehen, aber das gelingt mir irgendwie gar nicht, weil immer um den gesamten Term in der Sinusklammer eine Klammer gesetzt werden muss, und danch 55,7 multipliziert wird.

Hört sich ein bisschen verrückt an, würde aber wirklich gerne wissen, ob sowas möglich ist?
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 04.06.03 17:57 
Zuerst würde ich nach sin suchen und den String danach in eine andere Variable kopieren, dann diesen String durchgehen, wenn es eine Klammer auf ist, einen Zähler um eins erhöhen, wenn es eine Klammer zu ist, den Zähler um eins erniedrigen.
Irgendwann ist der Zähler 0, weil alle Klammern seit sin wieder geschlossen wurden, die letzte geschloessene Klammer war also die vom sin. Dann gehst du eins zurück, dann bist du in der sin-Funktion, aber hinter dem Ausrdruck darin, dann kommt da dein *55,7 hin und fertig. Vorher natürlich nicht vergessen die zusätlziche Klammer zu setzen.
Et voilà, String mit 55,7, drin.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
XZeranski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Mi 04.06.03 18:02 
Das hört sich wirklich gut an. Werde ich gleich mal ausprobieren.
Danke für deine Hilfe