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

Programming in C++ 2023/24 spring

  • Pealeht
  • 1. Muutujad ja andmetüübid
  • 2. Keele põhikonstruktsioonid I
  • 3. Keele põhikonstruktsioonid II
  • 4. Klass, struktuur, mallid
  • 5. Dünaamiline mäluhaldus I
  • 6. Dünaamiline mäluhaldus II
6 Dünaamiline mäluhaldus II
6.1 Kodutöö
6.2 Harjutused
6.3 Videolingid
  • 7. Kontrolltöö 1

Seitsmendal nädalal toimub 1. kontrolltöö

1. kontrolltöö näidis on Moodles

  • 8. Dünaamiline mäluhaldus III
  • 9. STL andmestruktuurid I
  • 10. STL andmestruktuurid II
  • 11. OOP I Klassid
  • 12. OOP II Pärilus ja polümorfism
  • 13. Erindite töötlemine
  • 14. Täiendavad teemad
  • 15. Kontrolltöö 2

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

  • 16. Projekti esitlus
  • Mõned viited - vajalikud kaaslased
  • Vanad materjalid
  • Juhendid
  • Viited

Harjutusülesanded

1. Oma tehtud aheljärjend (linked list)

 

Loo klassimall, mis hoiab aheljärjendit. Järjendis hoitav element on malliparameetri tüüpi. Aheljärjendis on elemendid omavahel seotud viitadega. Klassist isendi loomisel on aheljärjend tühi. Klassis on järgmised funktsioonid:

  • elemendi lisamiseks koos mälu reserveerimisega
  • elemendi otsimiseks etteantud nime järgi
  • elemendi kustutamiseks etteantud nime järgi koos mälu vabastamisega
  • elementide arvu tagastamiseks
  • järjendi hävitamiseks koos mälu vabastamisega
  • mõtle ise juurde!

Nõuded malliparameetrile:

  • Malliparameeter on klass või struktuur, kus on vähemalt kaks liiget:
    • string tüüpi nimi
    • malliparameetri tüüpi viit (pointer) järgmisele
  • Klassis või struktuuris on funktsioon getElement(), mis tagastab nime
  • Klassis või struktuuris on funktsioon getJargmine(), mis tagastab viida järgmisele
  • Klassis või struktuuris võib olla veel liikmeid ja funktsioone

Loo oma klass ja katseta loodud aheljärjendit.

2. Järjestatud aheljärjend

Modifitseeri esimese ülesande lahendust selliselt, et tekiks järjestatud aheljärjend. Sellisel juhul peavad järjendis hoitavad objektid olema võrreldavad.

3. Kahesuunaline aheljärjend

Modifitseeri esimese ülesande lahendust selliselt, et tekiks kahesuunaline aheljärjend. Sellisel juhul peavad järjendis hoitavad objektid olema varustatud kahe viidaga - viit eelmisele ja viit järgmisele elemendile. Lisa elemendi otsimise funktsioonile parameeter otsimise suuna jaoks.

  • 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