WinForm Chodzi np. o to by wpisać w programie 2x do pow(3) + 3x do pow(4) i żeby program zwrócił: 6xdopow(2) + 12xdopow(3)
Jakaś podpowiedź?
WinForm Chodzi np. o to by wpisać w programie 2x do pow(3) + 3x do pow(4) i żeby program zwrócił: 6xdopow(2) + 12xdopow(3)
Jakaś podpowiedź?
Jeśli chodzi o wielomiany to jest to banał, sprawa się komplikuje dopiero jeśli masz funkcje różnych postaci.
Podpowiedź: przypomnij sobie z matematyki wzór na pochodną wyrazu a^n i go zastosuj.
Wielki KOD napisał(a):
Jeśli chodzi o wielomiany to jest to banał, sprawa się komplikuje dopiero jeśli masz funkcje różnych postaci.
Podpowiedź: przypomnij sobie z matematyki wzór na pochodną wyrazu a^n i go zastosuj.
Ja znam większość wzorów na pochodną, ale nie wiem jak ominąć różnicę miedzy typami np. y=2x^2. 2-int, x-char, 2-znowu int.
Wykorzystaj/napisz parser wyrażeń matematycznych, to na sam początek.
Chyba że chcesz akceptować wyłącznie funkcje w postaci wielomianów - wtedy można sobie uprościć robotę i parsować znak-po-znaku oraz zapisywać wyrażenie jako listę jednomianów, zamiast bawić się w tokenizery oraz drzewa AST.
Tj. wczytujesz całe wyrażenie do stringa i sprawdzasz czy aktualnie przetwarzany znak to liczba (isdigit
) czy zmienna (== 'x'
) i potem zapisujesz sobie do tablicy strukturę opisującą ten jednomian (współczynnik oraz wykładnik przy niewiadomej), i tak dla każdego.
Użyć jakiejś gotowej biblioteki :P