Institute of Computer Science
  1. Courses
  2. 2022/23 spring
  3. Programming in C++ (LTAT.03.025)
ET
Log in

Programming in C++ 2022/23 spring

  • Pealeht
  • 1. Muutujad ja andmetüübid
  • 2. Keele põhikonstruktsioonid I
  • 3. Keele põhikonstruktsioonid II
  • 4. Funktsioonimallid, failitöötlus
  • 5. OOP I Klassid
  • 6. OOP II Pärilus ja polümorfism
  • 7. Kontrolltöö 1?

Seitsmendal nädalal toimub 1. kontrolltöö

7.1 1. kontrolltöö näide?
  • 9. Dünaamiline mäluhaldus II
  • 10. Klassimallid
  • 11. STL andmestruktuurid I
  • 12. STL andmestruktuurid II
  • 13. Erindite töötlemine
  • 14. Täiendavad teemad
14 Täiendavad teemad
14.1 Kodutöö
14.2 Harjutused
14.3 Videolingid
  • 15. Kontrolltöö 2?

Viieteistkümnendal nädalal toimub 2. kontrolltöö

15.1 2. kontrolltöö näide?
  • 16. Projekti esitlus?
  • Viiteid
  • Vanad materjalid
  • Praktikumid
  • Juhendid
  • Viited

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.

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment