(Se)Třídění polí (řazení polí)



Napište program, který vytvoří tabulku četností znaků v souborech a vytiskne ji podle ASCII hodnot znaků a podle zastoupení znaků.

Pozn.:

- Seznam souborů ze kterých se vytváří četnost je dán jako parametr při spuštění programu
- vytvořte funkci, která naplní tabulku četnosti pro jeden soubor (a celek realizujte jejím vícenásobným voláním)
- tabulku četností vytiskněte ve formátu – pořadové číslo znaku dekadicky, hexa, počet znaků v souborech (v kusech), četnost znaku v souboru (procentní zastoupení), a vytištěný znak (je-li tisk možný)
- tabulku seřaďte podle četností znaků (od nejvíce zastoupeného k nejméně). Seznamte se z třídícími (řadicími) algoritmy a jeden aplikujte (např. Bubble sort, heapsort, insertion sort, quicksort, shell sort, bucket sort, ... ). Pozn. při řazení pole četností by se vám ztratila informace o tom ke kterému znaku četnost patří. To lze vyřešit např. pomocí struktury (znak, četnost). Zkuste ale jinou variantu – vytvořte si pole indexů, které bude ukazovat do pole četností (to je hodnota 10 v poli bude znamenat, že na daném místě by byl prvek číslo 10 z druhého pole). Třídění potom realizujte tak, že budete třídit pomocí „přehazování“ indexů v prvním poli – výsledkem tedy bude situace, kdy indexy v druhém poli budou seřazeny tak, aby byly podle velikosti hodnoty buněk na které odkazují.
- Ošetřete možné chyby při práci programu (chybová hlášení)









Poslední úpravy 2007-09-19