======== HW 11 - Zpracování strukturovaného textu ======== ^ Termín odevzdání ^ 10.01.2026 7:00 | ^ Bodový zisk | 8b (4+4) | ^ Počet uploadů | 10 | ^ Typ zadání | volitelné | Cílem úlohy je provést analýzu strukturovaného textu (XML) ve formě textového souboru obecné délky na standardním vstupu programu. V úloze uvažujeme pouze slova bez diakritiky. ===== Zadání ===== * Ze standardního vstupu přečtěte textový soubor obecné velikosti. * Informace v textovém souboru je strukturována pomocí XML značek. * XML značky jsou párové (např. '''' '''', '''' '''') nebo nepárové (např. '''', ''''). Ve vstupním textu se mohou objevit oba druhy. * Párovost / nepárovost značek zde není určena definicí, ale pouze zápisem (tj. kombinací znaků ''<'', ''>'' a ''/''). * Ověřte, že text je správně strukturován (validní). ===== Příklady ===== ==== Příklad 1 - pub00 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | | text nevalidni | 100 | ==== Příklad 2 - pub01 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | 10 ahoj svete | pocet tagu: 5 text validni | 0 | ==== Příklad 3 - pub02 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ |
10 20
| pocet tagu: 7 text validni | 0 | ===== Bonusové zadání ===== * XML značky ve vstupním textu obsahují parametry (např. ''''). * Mezi názvem značky a parametrem je právě jedna mezera, za názvem parametru následuje znak ''='' a hodnota parametru v uvozovkách. * V textu se mohou vyskytovat specialni XML značky '''', '''' a ''''. Vypočtěte výraz definovaným XML dokumentem. ===== Příklady ===== ==== Příklad 1 - pub03 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ |
10 20
| pocet tagu: 7 text validni | 0 | ==== Příklad 1 - pub04 ==== ^ Standardní vstup (stdin) ^ Očekávaný výstup (stdout) ^ Návratová hodnota ^ | | a=-10 b=30 pocet tagu: 8 text validni | 0 | (Další příklady jsou v poskytnutém archivu.) ===== Odevzdání ===== Veřejné příklady + Makefile: {{ {{ :courses:b0b99prpa:hw:hw11_-_xml.zip |}} ^ ^ Povinné zadání ^ ^ Název v BRUTE | HW11 | ^ Odevzdávané soubory | main.c | ^ Kompilace pomocí | clang -pedantic -Wall -Werror -std=c99 |