Koduülesanded
1. Vektori elementide suurendamine
Koosta mallifunktsioon
template <typename T> void liida(std::vector<T>& v, T& lisa)
Funktsioon liidab etteantud vektori v
elementidele juurde väärtuse lisa
. Mallifunktsioonis kasutada lambda-avaldist. Vektori vector<int> v{12, 8, 12, 6, 14, 1, 3, 4}
ja arvu 5 korral on tulemusvektori elemendid ekraanile kuvatuna 17 13 17 11 19 6 8 9
. Vektori vector<string> vs{"kaks", "kolm", "neli"}
ja sõne kümmend
korral on tulemusvektori elemendid ekraanile kuvatuna kakskümmend kolmkümmend nelikümmend
. Funktsioonis main
rakenda loodud funktsiooni ja kuva tulemused ekraanile. Kasuta vektori kuvamiseks samuti lambda avaldist.
2. Kopeerimine teise vektorisse
Koosta mallifunktsioon
template<typename T> void vali(std::vector<T>& v, T a, T b, std::vector<T>& v1)
Funktsioon kopeerib vektorist v
vektorisse v1
need elemendid, mis asuvad lõigus [a, b]
. Kasutada lambda avaldist. Kopeerimiseks saab kasutada funktsiooni copy_if
https://en.cppreference.com/w/cpp/algorithm/copy
Näiteks vektori vector<int> v{2, 6, 9, 12, 56, 23}
korral pöördumise (v1
on initsialiseeritud)
vali(v, 5, 15, v1);
tulemusel on vektoris v1
ainult elemendid 6 9 12
.
Funktsioonis main
rakenda loodud funktsiooni ja kuva tulemused ekraanile.