Witam
Mam taki problem, otóż mam na zadanie napisanie kalkulatora, który będzie liczył pole pod wykresem funkcji z przedziału 1 do 10. Przykładowo, wpisuje mu funkcję 4x3+2x</sup>2-(1/7)*x+9, a on ma policzyć pole pod jej wykresem.
Ogólnie wiem jak to powinno wyglądać, będę liczyć to metodą prostokątów, ich szerokość * wartość w tym punkcie, potem to zsumuje i ok, problem mam tylko z tym wyrażeniem. Zrobiłem już że czyta mi po kolei znaki tego wyrażenia i wpisuje je do tablicy charów. Potem podzieliłem to na tablicę liczb i znaków, bo jakbym wpisał dajmy '23' do tego wyrażenia to odczyta mi to jako znaki '2' i '3'. Teraz zostało mi tylko napisać drzewo tego wyrażenia i tutaj nie mogę sobie poradzić.
drzewo *nowy;
drzewo *temp;
for (i=0 ; i<ilosc ; i++)
{
if (znaki[i] == '+' || znaki[i] == '-')
if (nowy == NULL)
{
nowy = new drzewo;
nowy->wartosc = znaki[i];
nowy->lewo = NULL;
nowy->prawo = NULL;
temp = nowy;
}
else
{
nowy = new drzewo;
nowy->wartosc = znaki[i];
nowy->lewo = NULL;
nowy->prawo = NULL;
temp->prawo = nowy;
temp = nowy;
}
}
Coś takiego zacząłem kombinować, nie wiem czy dobrze. Drzewo to jest u mnie struktura składająca się z dwóch wskaźników, prawy i lewy oraz wartości.
Może podpowiedziałby mi ktoś jak się zabrać za to, w jaki sposób to ugryźć.