zpět
Cvičení 5 - třídění výběrem a vyhledávání půlením intervalu
Zadání cvičení:
- Podívejte se na práci se soubory v C++. Na internetu najdete spoustu turtoriálů, například: C++ Files and Streams.
- Implementujte následující úlohu:
Číslelník
- Ve vstupním souboru je na prvním řádku číslo n - počet záznamů a m - počet dotazů
- Na následujících n řádcích je vždy přirozené číslo (ID osoby) a řetězec (jmeno osoby)
- Ve vstupním souboru nejsou záznamy seřazeny podle žádného klíče, seřazeny jsou zcela nahodile.
- Hodnoty ID jsou všechny kladné, některé mohou být vynechány.
- Máte již k dispozici vytvořenou šablonu, která se postará o načtení těchto záznamů do vektoru struktur.
- Vaším prvním úkolem je implementovat algoritmus selection sort, který záznamy setřídí podle ID.
- Na dalších m řádcích jsou přirozená čísla reprezentující dotazy do číselníku.
- Pro každý z m dotazu najděte pomocí algoritmu vyhledávání binárním půlením příslušnou položku a na standardní výstup vypište její ID a název oddělené pomlčkou (např.
20 - Radek
).
- Pokud se hledané ID v seznamu položek nenachází, vypište místo názvu řetězec "nenalezeno" (
10000 - nenalezeno
).
- Je-li hledané ID v seznamu vícekrát, stačí vypsat libovolný jeden z názvů.
Šablona: cviceni5.cpp
Ukázkový vstupní soubor: data.txt
Řešení: cviceni5-reseni.cpp