ITI0011-2016:harjutus 19

Allikas: Kursused
Redaktsioon seisuga 9. mai 2016, kell 10:30 kasutajalt Ago (arutelu | kaastöö) (→‎Põhiosa)
Mine navigeerimisribale Mine otsikasti

Üldine

Kaitsmised: kuni 20. mai
Kaust gitis: EX19

Põhiosa

"Schröndingeri Koer"

Sinu ülesandeks on kirjutada programm, mis etteantud lausest moodustab sõnede massiivi ja suudab neist tuvastada, kas sõne sisaldab Schröndingeri koera. Koer on elus, kui ta algab suure algustähega ("Koer"), ja surnud, kui ta algab väikese algustähega ("koer"). Programm kuvab elusate ja surnud koerte arvu massiivina, kus on toodud ära eluskoerte arv ja surnud koerte arv. Arv näitab, mitmes sõnas vastav koer leidub.

Näide:

String test = "Koeratoit toidukoeratäpp toidukoor kalamaja TäpikKoer koe"
testDog(test) => [2, 1]
testDog("koerkoerkoer") => [0, 1]

Lisaosa (0.5p)

Etteantud sõnes pöörata sõnad tagurpidi nende järjekorda muutmata. Lisaks jälgida, et iga sõna pööramisel jäävad tõstu indeksid muutumatuks (kui mingil positsioonil oli suurtäht, siis pärast sõna pööramist on samas positsioonis suurtäht). Mitte-tähtede korral jääb tõst samaks. Veel tuleb sõnes tühikute arv igal pool jätta samaks.

Näide:

reverse("tere") => "eret"
reverse("a  b") => "a  b"
reverse("Tere") => "Eret"
reverse("Tere!") => "!ereT" 
   1. pos on suurtäht (! puhul seda ei rakendata), 
   2.-4. on väiketähed, samamoodi ka väljundis
   viimane on "!", väljundis midagi ei muudeta
reverse("tere!") => "!eret" (sama, viimasel positsioonil midagi ei muudeta)