Sprawdź się
Napisz program, który wypisze wszystkie operatory arytmetyczne występujące w przekazanym wyrażeniu arytmetycznym zapisanym w notacji infiksowej w postaci łańcucha znaków, bez spacji między nimi. Przetestuj swój program dla następujących danych:
Program powinien działać dla operatorów odejmowania, dodawania, mnożenia oraz dzielenia.
Specyfikacja problemu:
Dane:
dzialanie
– wyrażenie arytmetyczne zapisane w postaci infiksowej; łańcuch znaków
Wynik:
operatory w kolejności ich występowania w wyrażeniu arytmetycznym
dzialanie
; każdy kolejno w nowej linii
Napisz program, który wypisze cyfry z podanego ciągu znaków aż do napotkania znaku, który nie jest cyfrą. Rozwiązanie przetestuj dla ciągu znaków: .
Specyfikacja problemu:
Dane:
ciagZnakow
– badany ciąg zawierający dowolne znaki; łańcuch znaków
Wynik:
ciąg cyfr z ciągu
ciagZnakow
, które poprzedzają pierwszy znak, który nie jest cyfrą; każda cyfra w nowej linii
Napisz program, który zamieni wyrażenie arytmetyczne napisane w odwrotnej notacji polskiej na wyrażenie arytmetyczne zapisane w notacji klasycznej. Do zrealizowania tego algorytmu wykorzystaj stos; w języku Java tę strukturę implementuje klasa Stack()
.
Przetestuj swój program dla następujących danych:
Specyfikacja problemu:
Dane:
notacjaONP
– wyrażenie arytmetyczne zapisane w notacji postfiksowej; łańcuch znaków
Wynik:
wyrażenie arytmetyczne zamienione na notację klasyczną z pełnym nawiasowaniem; niepusty ciąg znaków