Zapoctovy test, 20.1.2010 [10:00]

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.
Milk

Zapoctovy test, 20.1.2010 [10:00]

Příspěvek od Milk »

Úloha: implementovat trii
Pro ty co neznají:http://cs.wikipedia.org/wiki/Trie
Aplikace měla načíst z textového souboru telefonní seznam a pak v něm vyhledávat. Podmínkou bylo implementovat a použít trii.

Formát souboru:
Jmeno Prijmeni|telefonní číslo
Jouda Joudovic|608555333
jouda Nejoudovic|495600600


Jméno a přímení obsahuje jenom malá a velká písmena bez háčků a čárek. U telefonního čísla nejsou zbytečné mezery a vstup je korektní.
Z dat se měla postavit trie a pro zadaný vstup od uživatele vypsat všechny lidi začínající na daný řetězec. Aplikace není case sensitive.
Aplikace se ukončí #. Pokud nenajde schodu, tak to oznámí.

Příklad vstupu:
>Jouda
<Jouda Joudovic 608555333
<jouda Nejoudovic 495600600
>a
<nic nenalezeno
>#


Bylo na to tři hodiny čistého času a explicitně povolené e-zdroje byly msdn a cplusplus.com.
Cappuccino

Re: Zapoctovy test, 20.1.2010 [10:00]

Příspěvek od Cappuccino »

Jaká byla dneska úspěšnost?
Acris
Matfyz(ák|ačka) level I
Příspěvky: 20
Registrován: 26. 1. 2010 14:28
Typ studia: Informatika Mgr.
Bydliště: Praha

Re: Zapoctovy test, 20.1.2010 [10:00]

Příspěvek od Acris »

Jaká byla úspěšnost, nevím. Někteří to vzdali již v průběhu. Ale z těch, kdo se snažili až do konce, to nakonec dotáhli možná i všichni. Čas byl o něco málo nastaven.

Přikládám své řešení. Není asi nikterak hvězdné (nejsem zrovna zkušený c++ programátor ;)), ale snad ok.

Ještě dodávám, že zadání bylo v několika věcech ještě konkrétnější, např. na výstupu měla (ale nebylo to asi nutně vyžadováno) být jména opět s velkým písmenem na začátku. Ale ten prefix mohl být zadán s jakkoliv velkými písmeny (tedy case insensitive). A bylo zaručeno, že každé jméno tam bude nejvýše jednou.
Přílohy
trie.cpp
(3.61 KiB) Staženo 326 x
Odpovědět

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