problem z programem w C
: 28 marca 2007, 12:16
witam, nie mam pojecia jak zrobic ten program,trafil mi sie cierzki koles z infy i nic nie kminie z c. czy moglby mi ktos napisac ten program, byl bym bardzo wdzieczny
Proszę napisać prosty kalkulator pracujący w Odwrotnej Notacji Polskiej (RPN - Reverse Polish Notation) wykorzystując implementację stosu ze strony: http://zts.ita.pwr.wroc.pl/dydaktyka/fi ... 38/stos2.c Kalkulator może pracować wg następującego algorytmu:
Wczytaj ciąg znaków ze standardowego wejścia
Jeśli jest to liczba - umieść ją na stosie i idź do 1
Jeśli jest to operator "+" - skocz do procedury "dodaj"
Jeśli jest to operator "-" - ...
...
Procedura dodaj:
Pobierz argument 1 ze stosu
Pobierz argument 2 ze stosu
Dodaj do siebie argumenty
Umieść wynik na stosie
Należy zaimplementować następujące operacje:
+, -, *, / - jak operatory w C
round, floor, ceil - jak odpowiadające im w C funkcje
. (kropka), print - wyświetla aktualną wartość ze stosu
Operacje powinny być wykonywane na liczbach typu double.
Uwaga - dostęp do stosu można realizować TYLKO za pomocą funkcji pop() oraz push() (Na kursie "Procesory Sygnałowe" najprawdopodobniej spotkacie się ze sprzętowymi implementacjami stosu, w których jest to jedyna metoda dostępu). Absolutnie niedozwolone jest bezpośrednie odwoływanie się do tablicy z danymi!
Proszę napisać prosty kalkulator pracujący w Odwrotnej Notacji Polskiej (RPN - Reverse Polish Notation) wykorzystując implementację stosu ze strony: http://zts.ita.pwr.wroc.pl/dydaktyka/fi ... 38/stos2.c Kalkulator może pracować wg następującego algorytmu:
Wczytaj ciąg znaków ze standardowego wejścia
Jeśli jest to liczba - umieść ją na stosie i idź do 1
Jeśli jest to operator "+" - skocz do procedury "dodaj"
Jeśli jest to operator "-" - ...
...
Procedura dodaj:
Pobierz argument 1 ze stosu
Pobierz argument 2 ze stosu
Dodaj do siebie argumenty
Umieść wynik na stosie
Należy zaimplementować następujące operacje:
+, -, *, / - jak operatory w C
round, floor, ceil - jak odpowiadające im w C funkcje
. (kropka), print - wyświetla aktualną wartość ze stosu
Operacje powinny być wykonywane na liczbach typu double.
Uwaga - dostęp do stosu można realizować TYLKO za pomocą funkcji pop() oraz push() (Na kursie "Procesory Sygnałowe" najprawdopodobniej spotkacie się ze sprzętowymi implementacjami stosu, w których jest to jedyna metoda dostępu). Absolutnie niedozwolone jest bezpośrednie odwoływanie się do tablicy z danymi!