Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Napište program, který umí pro zadanou posloupnost rozhodnout, zda je korektně uzávorkovaná či nikoliv. Tzn., že lze všechny závoky navzájem spárovat a že se závorky nikde vzájemně nekříží.
Vstup programu bude v souboru zavorky.in. Tento soubor obsahuje předem neznámý počet řádků, přičemž na každém řádku je vždy jedna posloupnost závorek. Všechny závorky jsou oddělené mezerou a za posledním řádkem je konec souboru.
Výstupem programu je pro každou posloupnost odpověď "true", pokud byla korektně uzávorkovaná, nebo "false" pokud nebyla. Odpovědi by měl program psát na standardní výstup a na každém řádku by měla být vždy jen jedna odpověď.
Aby nebylo zadání jednoduché, nemusí být závorky jednoznakové. Program by měl umět zpracovat následující dvojice závorek:
Otevírací Uzavírací
( )
[ ]
/* */
<! !>
(
)
<< >>
Můžete předpokládat, že na vyřešení stačí zásobník o 10.000 položkách typu string[2].
Příklad:
Vstup:
<<
$) [ ] <! ( ) !>
( ) /* << /* [ ] */ >> <! !> */
Výstup:
false
true
MOC PROSÍM O POMOC A SPĚCHÁ TO....MÁM NĚCO NAPROGRAMOVANÉHO ALE NWM JAK TO UDĚLAT ABY TO ČETLO ZE SOUBORU :):)
Offline
Máš pravdu, nečtu, protože by mě fakt nenapadlo že bude dotaz na čtení ze souboru... takže omluva; no, protože se neví jestli řádka nebude delší než 256 znaků, nedá se použít obvyklý readln z textového souboru, ale bude třeba číst bytově (var soubor: file of byte;), dokud program nenarazí na CRLF. A pak teprve řádku zpracovat.
Offline