Table of Contents

HW 09 - Analýza textu

Termín odevzdání 12.12.2020 19.12.2020 23:59 CEST
Bodový zisk 8b (4+2+1+1)
Min. bodový zisk 4b
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.

V úloze uvažujeme pouze slova bez diakritiky. Čísla se v textu nevyskytují.
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.

Zadání (4b)

Rozšíření A (2b)

Rozšíření B (1b)

Rozšíření A+B (1b)

Příklady

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
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
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
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
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
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
Pocet slov:          9
Nejcastejsi:         se
Nejmene caste:       ahoj ty ja taky

Odevzdání

Veřejné příklady + Makefile: hw09_-_text.zip

Povinné zadání
Název v BRUTE HW09
Odevzdávané soubory main.c
Argumenty při spuštění -l, -c, -s
Kompilace pomocí clang -pedantic -Wall -Werror -std=c99 -O2