# zapocet 07.06.2006

<{ForumPost(poster="LnK", timestamp=2006-06-09 15:11:24)}>
Tak zpetne jeste stredecni zapocet:  
  
Ukolem bylo napsat zjednoduseny ceckovy preprocesor. Na standardnim vstupu je tedy text, ktery obsahuje jednak obycejne radky a jednak definice vypadajici takto:  
#define Jmeno_definice Za co nahradit  
V dalsich radcich bylo pak nutno vyhledat vsechna slova, ktera uz byla zadefinovana, a do vystupniho textu je nahradit prislusnymi definicemi (radky s definicemi se samozrejme nevypisuji)  
Aby to nebylo tak jednoduche, definice mohou byt i s parametrem, tedy napr:  
#define Secti(a,b) (a)+(b)  
a pri naslednem vyskytu Secti(4,5) je toto textove nahrazeno za (4)+(5).  
Krome nazvu definice byla delka vseho (radku, poctu definic, delky textu, kterym se nejaka definice nahrazuje,...) neomezena, vstup nemusi byt korektni (napr. nemusi odpovidat pocty parametru).  
  
Noo, docela sila a asi nejen pro me :? Po dvou a pul hodinach, ktere na to byly stanoveny, byly uspechy temer nulove. Mily dozor nam pote ulohu zjednodusil a casovy limit prodlouzil o hodinu (s konstatovanim, ze obtiznost ulohy asi trochu prestrelili) :) Nyni, kdyz vsechno ostatni fungovalo uplne korekne, postacilo odevdat program, ktery neresil definice s parametry. Diky tomu par desitek minut po prodlouzenem limitu odchazelo lidi se zapoctem o mnoho vice - vcetne me  :D
<{/ForumPost}>

<{ForumPost(poster="Myshaak", timestamp=2006-06-12 23:13:43)}>
**No do chuja!!!**  
Tak to me pekne nastvalo toto. ~:/ Kua!  
Byla to celkem dost jakoze sila, snazil jsem se, ale kdyz zbyvalo asi 35 min do konce, tak to nebylo vubec hotove. Nacitani a hledani maker, to uz bylo nak vyresene, ale vubec jsem tam nemel implementovany parametry, jak jejich identifikatory najit v tele makra (nemusely byt oddeleny mezerou, ale treba zavorkou) ap. + jeste vychytat par pripadu... Tak jsem realisticky zvazil, ze za trictvrte hodky to napsat a odladit nestihnu, toz jsem to zabalil a sel dom. Jenze!!!!! ~:((  
Kdybych tam zustal a dozvedel se, ze nemusim resit parametry, tak mi to stacilo trochu doladit (coz bych za tu hodiny snad zvladl :) ) a mel bych to. Buuu!  
Takze pouceni pro dalsi generace: nevzdavejte to dopredu, kdyz mate aspon neco!! :)
<{/ForumPost}>

<{ForumPost(poster="Adewzen", timestamp=2006-06-13 00:01:43)}>
My jsme skoro necvičili samotný C a proto byl velký šok, že C++ nebylo dovoleno! Tvrdil. že by úloha byla o hodně lehčí...    Jak sleduji úspěchy, byla by s C++ akorát tak těžká.  
Vzhledem k tomu, jsme to zabalil po hodině. Pak jsem psal mailík Yaghobovi(náš cvičící) a ten tvrdí, že C++ povoleno být musí. Takže termín v pr...  jenom pro komunikační zmatky mezi cvičícími. Ach jo.
<{/ForumPost}>

<{ForumPost(poster="Lukas Mach", timestamp=2006-06-13 01:07:11)}>

 > Adewzen wrote:My jsme skoro necvičili samotný C a proto byl velký šok, že C++ nebylo dovoleno! Tvrdil. že by úloha byla o hodně lehčí...    Jak sleduji úspěchy, byla by s C++ akorát tak těžká.  
 > Vzhledem k tomu, jsme to zabalil po hodině. Pak jsem psal mailík Yaghobovi(náš cvičící) a ten tvrdí, že C++ povoleno být musí. Takže termín v pr...  jenom pro komunikační zmatky mezi cvičícími. Ach jo.

Co jste se ale mohli ucit z C++, ze by to pomohlo pri zapoctu? OOP u prikladu na par hodin jenom zdrzi. Ten "zakaz C++" byl asi myslen tak, ze tam nemuzete pouzivat STL, coz je celkem logicky, protoze tak by bylo mozny delat dynamicky veci a ani pri tom nepotkat pointer:  

    std::vector<int> pole; 
    pole.push_back(123);
    pole.push_back(456);
    pole.push_back(9);

Nevim ani, jestli to vubec bylo na prednasce. Ale jestli uz mate procviceny i takovyhle veci, tak to beru zpet...
<{/ForumPost}>

