Witam, szukam sposobu na analizowanie funkcji kwadratowej chodzi mi o to że np użytkownik wpisuje x2+3x+2=0 i analizuje jakie jest b jakie c itd Dzielenie na substringi mnie nie kręci;/ z tego powodu że może być x2+2x-2+3 i co zrobić.. nie mam pomysłu.
Jak sobie wyobrażasz wpisanie przez użytkownika x
2
?
Jesteś pewnie, ze nie prościej (dla użytkownika również) poprosić użytkownika o współczynniki A,B,C ?
Musiałbyś napisać parser wyrażeń matematycznych (oparty na przykład o AST) wraz z ewaluatorem. To jest taki średniozaawansowany poziom, ale jednocześnie niezwykle ciekawa tematyka ;-)
pewnie że prościej, ale przecież jak użytkownik wpisze x2 to mogę to czytać jako potęgę. https://www.desmos.com/calculator pomijając dolny interfejs klawiszy to ładnie analizują funkcje i cos takiego chciałem napisac ale dla samej funkcji kwadratowej bez rysowania itd
Podrzucisz jakiś link? chętnie zobaczę;p
Jak sobie wyobrażasz wpisanie przez użytkownika x2 ?
Może jako x^2
? to jest akurat mniejszy problem.
Dzielenie na substringi mnie nie kręci;/ z tego powodu że może być x2+2x-2+3 i co zrobić
no jak co zrobić.
- podzielić na „substringi”. ano tak.
x^2
+2x
-2
+3
z każdego składnika wyciągnąć
- potęgę ixa — odpowiednio: 2, 1, 0, 0
- współczynnik — odpowiednio: 1, 2, -2, 3
-
pogrupować względem potęg, zsumować współczynniki: -2 +3 = 1
-
po zsumowaniu masz współczynniki
a
,b
ic
. -
dalej normalnie.
nie ma w tym żadnej magii. tylko trochę roboty.
Pierwszy pomysł, jaki wpadł mi do głowy, to podział ciągu na tokeny i analiza tokenów po dwa.
To znaczy ciąg x2+2x-2+3 podzielił bym na tokeny: "+x2", "+2x", "-2", "+3".
Następnie takie tokeny możesz analizować po dwa, co powinno już być dosyć proste.
@Edit Właśnie zauważyłem, że Azarien miał bardzo podobny pomysł, więc może nawet nie jest to takie głupie. :P