Zapoctovy test 23.4

Cílem semináře je seznámit posluchače s jazykem C#, prostředím platformy .NET a tvorbou aplikací s grafickým uživatelským rozhraním. Předpokládají se znalosti objektově orientovaného programování.
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

Zapoctovy test 23.4

Příspěvek od peva »

Dohliadal osobne PJ.
Uloha prosta: naprogramujte zerovnavanie textu do viacerych stlpcov(tak ako to robi word, napriklad).
takze :program.exe in,txt out.txt pocet_riadkov kopa_cisel_oddelenych_ciarkami(neparny pocet)
pocet_riadkov = pocet_riadkov v jednom stplci
in.txt, out.txt -> vstupne a vystupne subory, cisla boli nezaporne a spracovavali sa takto: prve cislo = maximalny pocet znakov v prvom 'stlpci', druhe cislo = kolko medzier ma byt medzi tymto a nasledujucim stlpcom,tretie ->max pocet znakov v tretom stlpci a pod.u, oddelili strasne moc pomlckami a cele to slo odznova.
Teraz ta zabavnejsia cast;) :
do riadku sme mali pomestit co najviac slov tak, aby to nepresialo max pocet znakov na riadku.
do riadku sa nam typicky zmestila kopa slov a potom obrovske volno -> mali sme toto obrovske volno rovnomerne rozdelit medzi slova, aby to vyzeralo 'hezky'. V pripade, ze sme mali slovo, ktore bolo samo o sebe vacsie ako maximalny pocet charov, praskli sme tam maximalnu moznu cast a zvysok na dalsi riadok.
V pripade, ze veta koncila endlajnou a za tym nasledoval prazdny riadok sa to bralo ako ukoncenie odstavca amal sa teda ukoncit riadok v generovanom stplci, ale tak, aby do nerozhodilo vedlajsi stlpec (takze doplnit na max_pocet prvom medzerami). Ked sme sme vygenerovali jeden stlpec s poctom riadkov !pocet_riadkov, zacali sme generovat druhy stlpec atd., Ked sme vygenerovali cely stplec, zapisali sme do subor
poziadavky: - dostatocne rychlo vygenerovat zarovnanie (cca do minuty) na 11M subore, co sme si mali stiahnut
- presne zachovanie znenia povodneho textu az na viacnasobne medzery (blabla blabla === blabla blabla)
Priklad:
rozdelenie medzier: 12345 67 89 0 12 34567890 pre max_chars = 20 -> 12345__67__89__0__12
(podtrzitka su samozrejme medzery;)
v pripade, ze za "djbhdaj
" nasledovalo
-> vysledok =
nejakytext __nejaky__tex _t
nejaky_text
Iny_text____po____endlajne
blablablabla___blab___blab
atd_atd_atd;)

pozor na to, ze viac prazdnych riadkov za sebou sa vo vystupe odrazilo, akurat ich bolo o 1 menej (kvoli tomu jednemu, co sa sezral s koncom odstavca - aspon myslim)
Odpovědět

Zpět na „NPRG035 Jazyk C# a platforma .NET“