| Termín odevzdání | 20.12.2025 7:00 |
|---|---|
| Bodový zisk | 5b (2+1+1+1) |
| Počet uploadů | 15 |
| Typ zadání | povinné |
Cílem úlohy je provést analýzu textu ve formě textového souboru obecné délky na standardním vstupu programu.
Rozšíření A a B jsou nezávislé programy, které se liší pouze přepínači při spuštění programu, přičemž je třeba splnit základní zadání.
Pro získání maximálního počtu bodů musí fungovat obě rozšíření A i B.
,, ., :, ;, a další).
20 znaků. Za místem vyhrazeným pro slovo je mezera, která odděluje slovo od čísla reprezentujícího četnost.
-c (viz příklady).
0.
\n.
-s. Pro -s 1 je seznam nalezených slov řazen vzestupně podle četnosti, pro -s 2 je seznam nalezených slov řazen podle abecedy. Jiné hodnoty parametru budou ignorovány, na standardní chybový výstup pak program vypíše “Warning: Chybna hodnota parametru -s!”.
-l délku vypisovaných slov. Hodnota parametru -l je kladné celé číslo, hodnota 0 potlačí výpis seznamu slov. Pokud není podmínka pro parametr splněna, je parametr ignorován a na standardní chybový výstup program vypíše “Warning: Chybna hodnota parametru -l!”.
Testovací soubor:
$ cat pub00.in Ahoj, jak se mas. Mam se dobre. Jak se mas ty? Ja se mam taky dobre.
Implicitní chování programu (bez parametrů příkazové řádky - case insensitive, slova seřazena v pořadí výskytu v datovém souboru)
$ ./a.out < pub00.in > pub00_a.out Seznam slov: ahoj 1 jak 2 se 4 mas 2 mam 2 dobre 2 ty 1 ja 1 taky 1 Pocet slov: 9 Nejcastejsi: se Nejmene caste: ahoj ty ja taky
Case sensitive výpis (parametr -c)
$ ./a.out -c < pub00.in > pub00_b.out Seznam slov: Ahoj 1 jak 1 se 4 mas 2 Mam 1 dobre 2 Jak 1 ty 1 Ja 1 mam 1 taky 1 Pocet slov: 11 Nejcastejsi: se Nejmene caste: Ahoj jak Mam Jak ty Ja mam taky
Řazení podle výskytu (vzestupně, case-insensitive případ)
./a.out -s 1 < pub00.in > pub00_c.out Seznam slov: ahoj 1 ty 1 ja 1 taky 1 jak 2 mas 2 mam 2 dobre 2 se 4 Pocet slov: 9 Nejcastejsi: se Nejmene caste: ahoj ty ja taky
Řazení podle abecedy (case-sensitive případ)
./a.out -c -s 2 < pub00.in > pub00_d.out Seznam slov: Ahoj 1 Ja 1 Jak 1 Mam 1 dobre 2 jak 1 mam 1 mas 2 se 4 taky 1 ty 1 Pocet slov: 11 Nejcastejsi: se Nejmene caste: Ahoj Ja Jak Mam jak mam taky ty
Limit délky vypisovaných slov
./a.out -l 3 < pub00.in > pub00_e.out Seznam slov: jak 2 mas 2 mam 2 Pocet slov: 9 Nejcastejsi: se Nejmene caste: ahoj ty ja taky
./a.out -l 0 < pub00.in > pub00_f.out Pocet slov: 9 Nejcastejsi: se Nejmene caste: ahoj ty ja taky
Veřejné příklady + Makefile: hw09_-_text.zip
| Povinné zadání | |
|---|---|
| Název v BRUTE | HW09 |
| Odevzdávané soubory | main.c |
| Volitelné soubory | *.h |
| Argumenty při spuštění | -l, -c, -s |
| Kompilace pomocí | clang -pedantic -Wall -Werror -std=c99 -O2 |