Anonymní profil Mikas – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mikas – Programujte.comAnonymní profil Mikas – Programujte.com

 

Příspěvky odeslané z IP adresy 147.32.218.–

Mikas
C / C++ › analyza textu
11. 12. 2019   #385004

Dobry den potreboval bych poradit s du

Cílem úlohy je provést analýzu textu ve formě textového souboru obecné délky na standardním vstupu programu.

Zadání

Ze standardního vstupu přečtěte textový soubor obecné velikosti
Vypište seznam všech (unikátních) slov textu. Ze slov odstraňte všechna interpuknční znaménka (,, ., :, ;, a další)
Seznam může být primárně case-insensitive (tzn. Osel a osel jsou stejná slova, v seznamu se objeví osel) nebo case-sensitive (tzn. Osel a osel jsou dvě různá slova, v seznamu se objeví obě). Chování programu ovlivňuje parametr programu -c (viz příklady).
Určete počet všech slov. Za slovo se považuje i číselná hodnota, pokud se v textu vyskytuje.
Najděte nejčastější a nejméně časté slovo.
Vypište seznam všech slov. Pro slovo je vyhrazeno 20 znaků. (Za místem vyhrazeným pro slovo je mezera, která odděluje slovo od čísla reprezentujícího četnost.)
Styl řazení výpisu seznamu ovládejte volbou parametru programu -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!”.
Omezte parametrem programu -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!”.
Pořadí parametrů je libovolné.

Testovací soubor:

$ cat pub00.in Ahoj, jak se mas. Mam se dobre. Jak se mas ty? Ja se mam taky dobre.

vystupy:

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

vsechny dalsi vystupy maji byt take zarovnane

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

predem dekuji za pomoc

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý