Naloge iz programiranja

Brez ponovitev

Med vajami iz računalništva se na učiteljevem računalniku malo pohecaš s tekstom in ga izpišeš tako, da se črke naključno ponovijo od 1- do 6-krat. V ta namen napišeš metodo za čudno množitev črk veckratniIzpisCrk. Medota naj sprejme izvorni niz ter vrne "pokvarjenega", kjer se vsaka črka ponovi od 1- do 6-krat. Ni nujno, da je besedilo namenjeno zgolj nagajanju učitelju ...

Učitelj te kasneje besen pokliče na zagovor. Tokrat trdi (le da v resnici tega čisto zagotovo ne ve), da si neposredno odgovoren in kriv za čudno besedilo na računalniku. Ves besen kaže na zaslon racunalnika, kjer je besedilo, ki je resnici na ljubo čudno. Npr. namesto šola piše šoolllllaaa in podobno.

S sošolci se izgovarjete, da je najbrž vzrok temu le okvarjena tipkovnica, ki je ponavljala pritisnjeni znak. Seveda si po učiteljevem mnenju za okvaro tipkovnice kriv ti, kot bi podkupil računalniškega škrata (v vsakem primeru)...

Ker ti učitelj grozi z ukorom, se ponudiš, da boš napisal program, ki bo tekst spravil v red. V ta namen sestaviš metodo brezPonovitev, ki sprejme niz s in vrne nov niz, ki ga dobimo tako, da zaporedne ponovitve znakov v s zamenjamo z eno samo kopijo. Na primer, ko pokličemo metodo brezPonovitev na nizu Uuuuččiiiittellllljjj jje nnnnnnajboooooljšššši nnaaaa sssvetu dobimo niz Učitelj je najboljši na svetu.

To ne bo težko, saj si ravno ti krivec za ponovitev črk. Program naj deluje tako, da lahko uporabnik izbere, ali hoče popraviti čuden tekst ali ga ustvariti.

Komentar:

Program ima tudi uporabno vrednost, recimo ppopravljanjeee konkretnihhh tipkarskih nappak v tekstu.

Namig