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
4 Funktsioonimallid, failitöötlus
4.1 Kodutöö
4.2 Harjutused
4.3 Videolingid
  • 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
  • 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

Kodused ülesanded

1. Funktsioonimallid

NB! Kõik funktsioonimallid paiguta faili kodu4_fun_template.h. Funktsioon andmed_failist paiguta faili kodu4_fun_template.cpp.

  • Koosta mall funktsiooni liida jaoks, millel on kaks malliparameetrit ja mis tagastab argumentide summa. Katseta main funktsioonis erinevaid parameetrite kombinatsioone (<int, int>, <string, string>, <int, double>, jne).

Uuri, kas on võimalik parameetrite tüübile piiranguid seada.

  • Koosta mall funktsiooni summa jaoks, millel on suvaline arv sama tüüpi parameetreid ja mis tagastab argumentide summa. Katseta main funktsioonis erinevaid parameetrite tüüpe ja arve. Abiks võib olla võtmesõna auto. Lisaks võivad abiks olla ka järgnevad lingid: https://en.cppreference.com/w/cpp/utility/variadic, https://en.cppreference.com/w/cpp/language/parameter_pack.
  • Koosta mall funktsiooni on_vahemikus jaoks, millel on üks <template> parameeter ja kaks int tüüpi argumenti. Funktsioon tagastab tõeväärtuse, kas parameetrina antud arv asub etteantud vahemikus, otspunktid kaasa arvatud. Katseta main funktsioonis erinevaid parameetri väärtuseid ja vahemikke. Näide kasutuse kohta: on_vahemikus<5>(1, 10).

2. Failist lugemine ja faili kirjutamine

Antud on tekstifail, milles on igal real ujukomaarvud, eraldajaks ;;. Ridade arv ei ole ette teada ja ujukomaarvude arv ridades on erinev.

Näide faili sisust

1.1;;2.3;;5;;9;;5.3
4.1;;2.2;;5.6;;9.2
3.1;;2.4;;5.2;;9.1;;3.2;;2.5
8.1;;5.2;;4.5;;3.9

Koosta funktsioon andmed_failist, mis saab argumendiks sõnena faili nime ja mis loeb andmed failist ning leiab iga rea jaoks aritmeetilise keskmise ja kõikide arvude summa üle faili. Tulemused kirjuta faili tulemused.txt järgmiselt: kõigepealt igale reale rea aritmeetiline keskmine ja viimasele reale kõigi elementide summa. Näites toodud faili korral on faili tulemused.txt sisu järgmine:

4.54
5.275
4.25
5.425
91.0

Vihje. Siin võib kasulik olla andmestruktuur vector.

Abiks alustamisel (kodu4_mall.zip)

  • 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