Erinevus lehekülje "ITI0011-2016:harjutus 19" redaktsioonide vahel
(ei näidata sama kasutaja üht vahepealset redaktsiooni) | |||
32. rida: | 32. rida: | ||
viimane on "!", väljundis midagi ei muudeta | viimane on "!", väljundis midagi ei muudeta | ||
reverse("tere!") => "!eret" (sama, viimasel positsioonil midagi ei muudeta) | reverse("tere!") => "!eret" (sama, viimasel positsioonil midagi ei muudeta) | ||
+ | reverse("TTere!") => "!EretT" | ||
+ | esimesed kaks sümbolit peaksid tulemuses olema suured tähed | ||
+ | sümboleid ei muudeta | ||
+ | 'E' muutub suureks | ||
+ | eelviimane sümbol on väiketäht, seepärast muudetakse 't' väikseks | ||
+ | viimasel kohal olev 'T' jääb samaks kuna algselt on seal positsioonil sümbol (mis ei muuda tähe suurust)). | ||
</pre> | </pre> |
Viimane redaktsioon: 16. mai 2016, kell 08:24
Ü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 (sümboleid ei muudeta, sümbol ise ei muuda ka tähte). 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) reverse("TTere!") => "!EretT" esimesed kaks sümbolit peaksid tulemuses olema suured tähed sümboleid ei muudeta 'E' muutub suureks eelviimane sümbol on väiketäht, seepärast muudetakse 't' väikseks viimasel kohal olev 'T' jääb samaks kuna algselt on seal positsioonil sümbol (mis ei muuda tähe suurust)).