# [zap], historicky prvni, 30.5. 05 9:00

<{ForumPost(poster="mys_not_logged_in", timestamp=2005-05-30 11:51:40)}>
Tak mam tu cest vas seznamit s prvnim zapichem tohohle semestru. Cas je shora omezen 2:30.  
Zadani: Mate dany textovy soubor, delka neomezena, delka radku max. 1000zn. Je to plain text, mimo radek vypadajicich nasledovne:

    #define SLOVO neconeconeco co obsahuje uplne  cokoliv
    

 ... pokud takovyto radek naleznete, zapamatujete si tuto definici (mozne i redefinovani predchozich definic). Pocet techto maker neni omezen. Ostatni radky takto nezacinajici normalne vypisujete, ale pokud v nich narazite na SLOVO, tak misto nej prislusne makro rozvinete (pozn.: pokud je jen #define SLOVO   
, tak se v textu SLOVO vzdy vlastne vymaze). Nutne zachovat rozlozeni whitespacu. My jsme meli jednoduchou verzi, tj. rekurze v definicich neni povolena. Ta tezsi ceka stale na vas :twisted: .  
  
Priklad:

    #define pondeli streda i patek
    #define nic
    Dneska je pondeli a jsem na to zvedavy.
    #define pondeli utery
    Dneska je pondeli a nemam nic.

...vypise:

    Dneska je streda i patek a jsem na to zvedavy.
    Dneska je utery a nemam .

Myslim, ze tohle bylo docela easy, ja to mel za hodku a pul...akorat takovy tip pro lidi pouzivajici MS .NET Studio... pokud mate projekt zalozen na svem home disku (J:\), tak to, co debugujete a co se provadi, neodpovida tomu, co vidite jako zdrojak:-)...takovy WYSINWYD :? . Nejaka hodne vadna synchronizace. Takze pred kazdym spustenim/debuzenim se hodi dat Rebuild all. Tenhle problem me opravdu celkem zarazil. Potvrzeno od min. dvou lidi:-).
<{/ForumPost}>

<{ForumPost(poster="tibor", timestamp=2005-05-30 18:45:56)}>
Ten problem, ked je project na sietovom disku je celkom normalny. Nam o tom vraveli na cvikach. Teda problem je v tom ze sietovy disk ma trochu vyssiu latenciu a navyse cas na lokalnom stroji sa nemusi zhodovat so servrom tak moze zblbnut, ze ci je zdrojak starsi/novsi ako binarka.  
  
Najjednoduchsie je asi robit na lokalnom disku, tam vsetko chodi ok.
<{/ForumPost}>

<{ForumPost(poster="MyS", timestamp=2005-05-30 19:59:44)}>
Jojo, ale ja to zjistil az na zapoctu a docela jsem si s tim ze zacatku vyhral:-). Opravdu me prekvapilo, kdyz mi program padal na radku "if (b) x++;" :shock: . Diky za racionalni vysvetleni, uz sem to chtel hlasit Vesmirnym lidem:-). Ale rozhodne to maj labaci blbe vyreseny...
<{/ForumPost}>

<{ForumPost(poster="qk", timestamp=2005-05-31 13:15:21)}>
chteli tam i nejakou optimalizaci nebo stacilo proste projet vsechny hodnoty define (ktery si clovek nekde ulozil)?
<{/ForumPost}>

<{ForumPost(poster="MyS", timestamp=2005-05-31 16:00:57)}>
qk: nene, stacilo proste projet dyn.pole/spojak od zacatku az do konce. preci jen ceckove zapocty nejsou o algoritmizaci, na tu tu mame programko :) . Ale takovy lexikograficky BVS by byl urcite mooc hezky 8) .
<{/ForumPost}>

<{ForumPost(poster="Trupik", timestamp=2005-05-31 21:59:06)}>

 > MyS wrote:qk: nene, stacilo proste projet dyn.pole/spojak od zacatku az do konce. preci jen ceckove zapocty nejsou o algoritmizaci, na tu tu mame programko :) . Ale takovy lexikograficky BVS by byl urcite mooc hezky 8) .

Nojo, jenze stejne je v BVS vyhledavani v nejhorsim pripade asymptoticky v linearnim case, takze nakonec by se stejne nic nezlepsilo :lol:
<{/ForumPost}>

<{ForumPost(poster="Isidor", timestamp=2005-05-31 22:15:43)}>

 > Trupik wrote:
 >  > MyS wrote:qk: nene, stacilo proste projet dyn.pole/spojak od zacatku az do konce. preci jen ceckove zapocty nejsou o algoritmizaci, na tu tu mame programko :) . Ale takovy lexikograficky BVS by byl urcite mooc hezky 8) .
 > 
 > 
 > Nojo, jenze stejne je v BVS vyhledavani v nejhorsim pripade asymptoticky v linearnim case, takze nakonec by se stejne nic nezlepsilo :lol:

Ved R-B/AVL to istia, nie? :lol:
<{/ForumPost}>

<{ForumPost(poster="MyS", timestamp=2005-05-31 22:19:15)}>
Oh pravda, takhle se nechat nachytat:-). I kdyz AVLka bych asi za ty 2hodky nedal:-). Kazdopadne na zkousku programka se jeste musim procvicit v Sile :twisted: .
<{/ForumPost}>

<{ForumPost(poster="MyS", timestamp=2005-05-31 22:20:16)}>

 > Isidor wrote:Ved R-B/AVL to istia, nie? :lol:

o chvilku:-)
<{/ForumPost}>

<{ForumPost(poster="Necroman", timestamp=2005-06-01 20:14:21)}>

 > MyS wrote:Opravdu me prekvapilo, kdyz mi program padal na radku "if (b) x++;" :shock:

Taky jsem mel trochu problemy pri psani, treba mi to skoro vzdy po ulozeni hlasilo, ze "soubor byl modifikovan odjinud, chci jej obnovit?"  
Taky se mi stalo, ze jsem normalne zkompiloval program, pridal radek s prikazem, ulozil zdrojak a dal "Build" a ono to hlasilo, ze program je "up-to-date", aniz by ho to znova zkompilovalo... divne :? .
<{/ForumPost}>

