# Zkouška 25.01. 2019

<{ForumPost(poster="Lukaskub", timestamp=2019-01-25 15:34:37)}>


![Zadání](/NPRG041/Zkouška%202019-01-25/zadani.jpg)
Tentokrát byl úkol jednoduchý - naprogramovat parser algebraických výrazů, který pak všechny nadbytečné závorky nebude vypisovat.  
  
Vstup file/stdin na každé řádce jedna expression.  
Výstup stdout.  
Errory jakkoli, ale nesmí odletět  
  
Šlo udělat nějaký zajímavý polymorfní strom, do kterého byste rozparsovali výraz, pak byste v něm prošetřeli, jestli náhodou nejsou nějaké závorky navíc, ty odstranili a pak to nějak vypsali.  
Nebo!  
Projít každou řádku, o každé závorce v dané úrovni se rozhodnout, jestli ji můžu smazat nebo ne na základě relativně jednoduché heuristiky.  
  
Své řešení přikládám v přiloze.  
Polymorfnost je zlá.

*Attachments:*

![zavorky.cpp](/NPRG041/Zkouška%202019-01-25/zavorky.cpp)

![main.cpp](/NPRG041/Zkouška%202019-01-25/main.cpp)

![zavorky.h](/NPRG041/Zkouška%202019-01-25/zavorky.h)
<{/ForumPost}>

