zapoctovka 1.2.2012

Základní kurs objektově orientovaného programování v C++. Třídy a objekty, zapouzdření, metody, plymorfismus. Abstraktní datové typy, přetěžování. Kontejnery, iterátory, algoritmy. Šablony, generické programování, kompilační polymorfismus. Výjimky. Bezpečné a přenositelné programování, vazby na OS.
squo314
Matfyz(ák|ačka) level I
Příspěvky: 8
Registrován: 8. 6. 2011 15:01
Typ studia: Informatika Bc.

zapoctovka 1.2.2012

Příspěvek od squo314 »

mali sme vytvorit telefonny zoznam podporujuci nasledovne prikazy
a Jan Novak 775436985 // a=add
a Marek Tlusty 12345
a Jan Novak 074580 // Janov Novakov je viac, pridam dalsieho
a Jan Novak 074580 // pozor nato, aby mi nepridalo dvakrat tu istu osobu
d Jan Novak 074580 // d=delete. Cloveka jednoznacne identifikujem az ked viem aj jeho cislo
? No*k //?=query najde vsetky polozky, ktore viem namatchovat na tento "regular"
q // q = quit

teda vyhladavanie je podla prijmeni a dokaze vyhladavat s pouzitim hviezdicky. Hviezdicka sa vo vyraze moze vyskytnut maximalne raz.
Zastupuje lubovolny pocet lubovolnych znakov

Celkovo priklad bol lahky, ja som odchadzal po asi dva a pol hodinach a bol so medzi prvymi. Kod som spravil na 140 riadkov.

Riesenie:
pouzil som
std::map<string, vector<string> > telefonny_zoznam;
kde
telefonny_zoznam["Novak"] == vector{"Jan Novak 775436985", "Jan Novak 074580"}

konkretne cele riesenie mam na http://pastebin.com/HkKV2pNq
Odpovědět

Zpět na „NPRG041 Programování v C++“