Do zrobienia mam takie zadanie:
W pliku tekstowym "we4.txt" zapisane jest wyrażenie składające się z liczb, operatorów działań i wielokrotnie zagnieżdżonych nawiasów "(....)". Program przegląda plik sprawdzając, czy dla każdego nawiasu otwierającego "(" istnieje nawias zamykający ")" i wypisuje na ekranie "TRUE" jeśli tak jest, lub "FALSE" w przeciwnym wypadku. Wskazówka: Wystarczy czytać plik znak po znaku i pamiętać poziom zagnieżdżeń nawiasów. Musi on być nie-ujemny i na koniec wynieść 0. Przykłady (z zaznaczonym poziomem zagnieżdżeń obok znaków nawiasów):
TRUE: (1 ... (2 .... ) 1 .... (2.....)1 ...) 0
FALSE, mimo, że na koniec jest 0: )-1 ...( 0
Wiem jedynie jak zapisuje i odczytuje sie dane z plikow, reszta to dla mnie czarna magia... Ale mam nadzieje ze znajdzie sie taki czarownik ktory bedzie potrafil to rozwiazac
Pozdrawiam
DELPHI - program zliczajacy nawiasy
- Undre
- Użytkownik
- Posty: 1430
- Rejestracja: 15 lis 2004, o 02:05
- Płeć: Mężczyzna
- Lokalizacja: UĆ
- Podziękował: 3 razy
- Pomógł: 92 razy
DELPHI - program zliczajacy nawiasy
Jesli wiesz jak odczytuje sie dane z plikow, to wiesz tez jak pobrac pojedynczy znak z pliku, wiec imo wszystko. Pobierasz znak po znaku tekst, dodatkowo tworzysz zmienna kontrolna np check ( typ integer, domyslnie 0 ). Jak napotkasz "(" zwiekszasz check o 1, jak napotkasz ")" zmniejszasz o 1. Jak na sam koniec pliku zmienna check jest rozna od 0 to cos nie bangla.
Mozna teraz gdybac dalej - jesli na koncu wyszlo ci check>0, to sa niedomkniecia jakies. Jak jest check
Mozna teraz gdybac dalej - jesli na koncu wyszlo ci check>0, to sa niedomkniecia jakies. Jak jest check