Harjutusülesanded
1. Lühendaja
Kirjuta funktsioon lyhendaja
, mis saab argumendiks sõne inimese nimega kujul eesnimed perenimi
ja tagastab nime kujul perekonnanimi ja eesnimede esimesed tähed koos punktiga ja tühikuga. Kui eesnimes on sidekriips, säilib see ka eesnimelühendis ja punkt on sel juhul ainult teise eesnime tähe järel.
Funktsiooni signatuur on string lyhendaja(string* nimi)
.
Näited funktsiooni tööst
cout << lyhendaja("Mari-Anne Lill"); Lill M-A. cout << lyhendaja("Otto Triin Kaido Maastik"); Maastik O. T. K.
2. Isikukood
Koosta funktsioonid sugu
ja synnikuupaev
, mis saavad argumendiks isiku isikukoodi sõnena ja tagastavad sõne.
Funktsioon sugu
tagastab isiku soo (M/N
). Seda näitab isikukoodi esimene sümbol (kui isikukoodi esimeseks numbriks on 1, 3 või 5, siis tegu on mehega; kui 2, 4 või 6, siis tegu on naisega).
Funktsioon synnikuupaev
tagastab isiku sünnikuupäeva kujul PP.KK.AAAA. Seda näitavad isikukoodi sümbolid 2-7. Selleks, et teada saada sünniaasta kahte esimest numbrit, tuleb kasutada ka isikukoodi esimest sümbolit. Täpsem info on aadressil
https://et.wikipedia.org/wiki/Isikukood.
3. Tagurpidi
Koosta funktsioon tagurpidi
, mis saab argumendiks massiivi elementide arvu ja sõnemassiivi. Funktsioon pöörab ümber massiivi kõik sõned, nt kass -> ssak
ja muudab massiivi elementide järjekorra vastupidiseks.
Funktsiooni signatuur on void tagurpidi(size_t arv, string massiiv[])
.
Näide programmi tööst.
string massiiv[] = {"kaks", "kolm", "neli"}; tagurpidi(3, massiiv); for (int i = 0; i < 3; ++i) { cout << massiiv[i] << '\n'; } | ilen mlok skak |
Lisaülesanne. Proovi lahendada ka nii, et sõnemassiiv edastatakse funktsioonile viidana.