Harjutusülesanded
1. Lühendaja
Kirjuta funktsioon lyhendaja
, mille parameetriks on sõne inimese nimega kujul eesnimed perenimi
. Funktsioon 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
, mille parameetriks on isiku isikukood sõnena ja mis tagastavad sõne.
Funktsioon sugu
tagastab isiku soo (M/N
). Seda näitab isikukoodi esimene märk (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 märgid 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
, mille parameetriteks on massiivi elementide arv ja sõnemassiiv. 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 |
4. Faili sümbolite sagedus
Kirjuta funktsioon sagedus
, mis võtab argumendiks sõne, mis sisaldab avatava faili asukohta. Funktsioon peab avama faili ja iga rea kohta leidma kõige sagedasema sümboli. Võib eeldada, et failis on vähemalt üks rida.
Lisaks peaks funktsioon kontrollima ka antud faili olemasolu ning selle puudumisel kasutajat teavitama ja funktsioonist väljuma. Kirjuta antud veateade veavoogu (cerr
).
Vihje: Siin võib abiks olla andmestruktuur map
.
NB! Kui täpitähed tekitavad ülesande lahendamisel probleeme, võib neid ignoreerida.
Näide funktsiooni tööst:
Faili sisend.txt sisu:
C++ is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup and first released in 1985 as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM, so it is available on many platforms.
Funktsiooni kasutav kood:
int main() { sagedus("sisend.txt"); sagedus("ei_eksisteeri.txt"); return 0; }
Väljund:
e: 19 e: 18 a: 20 Faili ei_eksisteeri.txt ei leitud.