Whiz-zarD
04.11.2009, 20:21
Ich soll nun ein programm schreiben, was ein Polynom analysiert.
Das Polynom ist folgendermaßen aufgebaut: <float>x^<integer>
Also z.B. 5x^2-4x^3+2x^2
Nun wollte ich mit sscanf() und der Maske "%fx^%d%n" die Zeichenkette in seine Bestandteile zerlegen.
Allerdings wird das ^-Zeichen ignoriert, sodass ich bei %d nie einen Wert stehen habe.
mein jetziger Code sieht so aus:
while (sscanf(argv[1] + nLength, "%fx^%d%n", &fCoeff, &dExp, &temp) == 2) {
if (dExp <= POLYNOM_MAX_DEGREE) {
aPolynom[dExp] = aPolynom[dExp] + fCoeff;
nLength = nLength + temp;
}
edit:
Ich seh grad, dass Windows ein ^^ als ^ interpretiert -_-
Damit hat es sich erledigt.
Hab ich dabei was übersehen?
Das Polynom ist folgendermaßen aufgebaut: <float>x^<integer>
Also z.B. 5x^2-4x^3+2x^2
Nun wollte ich mit sscanf() und der Maske "%fx^%d%n" die Zeichenkette in seine Bestandteile zerlegen.
Allerdings wird das ^-Zeichen ignoriert, sodass ich bei %d nie einen Wert stehen habe.
mein jetziger Code sieht so aus:
while (sscanf(argv[1] + nLength, "%fx^%d%n", &fCoeff, &dExp, &temp) == 2) {
if (dExp <= POLYNOM_MAX_DEGREE) {
aPolynom[dExp] = aPolynom[dExp] + fCoeff;
nLength = nLength + temp;
}
edit:
Ich seh grad, dass Windows ein ^^ als ^ interpretiert -_-
Damit hat es sich erledigt.
Hab ich dabei was übersehen?