Témakör: Sablonok


13.1 . megoldással  Generikus FIFO osztály készítése

Webmester felhasználó

Írjon generikus FIFO osztályt, amely

  • Képes elemeket tárolni (put)
  • A legkorábban betett elemet adja vissza (get) eltávolítva azt a FIFO-ból
  • Meg tudja mondani magáról, hogy üres-e (isEmpty)
  • Az osztály legyen átadható érték szerint függvényparaméterként és az f1= f2=f3; értékadás működjön helyesen (f1, f2, f3 ugyanazzal a típussal példányosított FIFO template-ek)!
  • Milyen követelményeket támaszt az osztály a tárolandó típusokkal szemben (pl. operator > rendelkezésre állása)?
  • Írjon egy egyszerű, maximum 10 utasításból álló programrészletet, amely bemutatja az osztály szolgáltatásainak használatát.  Hibakezelést nem kell implementálnia!


2008.01.05. |  Permalink  |  Hozzászólások: 2  |  Tárgyszavak:


13.2 . megoldással  Generikus verem osztály készítése

Webmester felhasználó

Írjon generikus Stack osztályt, amely

  • Képes elemeket tárolni (push)
  • A legutoljára betett elemet adja vissza (pop) eltávolítva azt a Stack –ből
  • Meg tudja mondani magáról, hogy üres-e (isEmpty)
  • Az osztály legyen átadható érték szerint függvényparaméterként és az s1= s2=s3; értékadás működjön helyesen (s1, s2, s3 ugyanazzal a típussal példányosított Stack template-ek)!
  • Milyen követelményeket támaszt az osztály a tárolandó típusokkal szemben (pl. operator > rendelkezésre állása)?
Írjon egy egyszerű, maximum 10 utasításból álló programrészletet, amely bemutatja az osztály szolgáltatásainak használatát.  Hibakezelést nem kell implementálnia!


2008.01.05. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


13.3 . megoldással  Generikus halmaz osztály készítése

Webmester felhasználó

Írjon generikus (template) halmaz (set) osztályt, amely

  • Képes elemeket tárolni (insert), addig, amíg el nem fogy a memória. Ha az elem már benne van a halmazban, ne tegye bele kétszer!
  • Eltávolít (remove) egy elemet a halmazból
  • Meg tudja mondani egy elemről, hogy benne van-e a halmazban (isElement)
  • Az osztály legyen átadható érték szerint függvényparaméterként és az s1=s2=s3; értékadás működjön helyesen (s1, s2, s3 ugyanazzal a típussal példányosított set template-ek)!
  • Milyen követelményeket támaszt az osztály a tárolandó típusokkal szemben (pl. alapértelmezett konstruktor rendelkezésre állása)?
  • Írjon egy egyszerű, maximum 10 utasításból álló programrészletet, amely bemutatja az osztály szolgáltatásainak használatát. Hibakezelést nem kell implementálnia!


2008.01.05. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


13.7 .  Generikus asszociatív tár

Webmester felhasználó Írjunk generikus (template) asszociatív tár osztályt, amely kulcs-érték párokat képes tárolni!
- A kulcsok legyenek stringek, a tárolt objektum típusa legyen template paraméter!
- Tudjunk a tárba új kulcs-érték párt felvenni (add)!
- Tudjunk a tárban kulcs alapján keresni (get), a függvény a kulcshoz tartozó értéket adjon vissza! Ha nincs benne az érték, dobjunk kivételt!
- Tudjunk kulcs alapján törölni (remove)!
- Le tudjuk kérdezni, hogy hágy párt tárolunk (getCount)!


2008.02.01. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


13.8 .  Generikus hash-alapú asszociatív tár

Webmester felhasználó Írjunk generikus asszociatív tár osztályt, amely kulcs-érték párokat képes tárolni.
- A kulcsok legyenek stringek, a tárolt objektum típusa legyen template paraméter.
- Tudjunk a tárba új kulcs-érték párt felvenni (add)
- Tudjunk a tárban kulcs alapján keresni (get), a függvény a kulcshoz tartozó értéket (vagy ha az nem található, NULL-t) adjon vissza
- Tudjunk kulcs alapján törölni (remove)
- Le tudjuk kérdezni, hogy hágy párt tárolunk (getCount)


A visszakeresés gyorsításához alakalmazzunk hash függvényt a beírás/visszaolvasás során:
- az algoritmus egyszerű vagy vödrös hash legyen
- a hash-tábla legyen egy dinamikusan lefoglalt tömb
- a stringből képzett (alkalmas) hash-érték segítségével helyezzük el a kulcs-érték párokat a hash-táblában
- a hash tábla telítettsége esetén (felvételkor túl sok ütközés ill. túl nagy vödörméret) foglaljunk le egy nagyobb (2x) táblázatnak helyet, majd a régi értékeket helyezzük el az új táblázatban (generáljunk új hash-kulcsokat a már meglévő elemekhez)

Az ismeretlen foglamakat keressük meg interneten.


2008.02.03. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


13.10 . megoldással  Generikus mátrix osztály

Webmester felhasználó

Írjon generikus (template) n*m-es mátrixokat reprezentáló osztályt!
- Írjon konstruktort, ami paraméterként a mátrix méreteit kapja meg.
- A mátrixhoz lehessen hozzáadni, belőle n*m-es mátrixokat. Amennyiben a dimenziók nem megfelelőek, a függvények dobjanak kivételt.
- A mátrix egyes elemeit le lehet kérdezni és be lehet állítani a () operátor használatával. Pl: M(2, 4) = 5; ha M egy egész számokat tároló mátrix. Hibás sor, vagy oszlopindex megadása esetén kivételt kell dobni!
- átadható érték szerint függvényparaméterként!
helyesen kezeli a többszörös értékadást (s1=s2=s3, ahol s1, s2, s3 ugyanazzal a típussal példányosított template-ek)!
- Milyen követelményeket támaszt az osztály az elemek típusaival szemben (pl. alapértelmezett konstruktor, operator+ rendelkezésre állása)?
- Írjon egy egyszerű programrészletet, amely bemutatja az osztály szolgáltatásainak használatát!



2008.02.01. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


13.11 . megoldással  Generikus sztring osztály készítése

Webmester felhasználó

Írjon generikus (template) sztring (string) osztályt, amely

§         képes elemeket beszúrni (insert), addig, amíg el nem fogy a memória! Paraméterként vegye át a beszúrandó elemét és annak pozícióját! Ha az utóbbi nagyobb, mint a sztring hossza, akkor a keletkező üres helyeket a tárolandó típus alapértelmezett értékével töltse fel

§         képes két stringet egymás után másolni (concat)!

§         képes visszaadni egy adott indexű elemet (operator[]), de csak olvasásra! Ha az index érvénytelen, dobjon kivételt (felhasználhatja az STL kivételosztályát)!

§         Az osztály legyen átadható érték szerint függvényparaméterként és az s1=s2=s3; értékadás működjön helyesen (s1, s2, s3 ugyanazzal a típussal példányosított sztring template-ek)!

§         Milyen követelményeket támaszt az osztály a tárolandó típusokkal szemben (pl. alapértelmezett konstruktor rendelkezésre állása)?

§         Írjon egy egyszerű, maximum 10 utasításból álló programrészletet, amely bemutatja az osztály szolgáltatásainak használatát char típusra. Mutassa be a kivételkezelést is!

Megjegyzés: az osztály tárolja az elemek számát, mivel általános (generikus) esetben nem tudjuk megmondani, mi jelzi a string végét!



2008.01.05. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


13.12 . megoldással  Generikus dinamikus tömb készítése

Webmester felhasználó

Írjon generikus (template) dinamikus tömb (vector) osztályt, amely

§         Képes elemeket tárolni (insertAt), addig, amíg el nem fogy a memória. A függvény vegyen át egy pozíciót paraméterként, ahova beszúrja az új elemet, és ha az nagyobb, mint a tömb mérete, a keletkező üres helyeket a tárolt típus alapértelmezett értékével töltse fel!

§         Eltávolít (removeAt) egy adott pozíciójú elemet a tömbből

§         Meg tudja mondani egy elemről, hogy benne van-e a tömbben (isElement)

§         Az osztály legyen átadható érték szerint függvényparaméterként és az v1=v2=v3; értékadás működjön helyesen (v1, v2, v3 ugyanazzal a típussal példányosított vector template-ek)!

§         Milyen követelményeket támaszt az osztály a tárolandó típusokkal szemben (pl. alapértelmezett konstruktor rendelkezésre állása)?

Írjon egy egyszerű, maximum 10 utasításból álló programrészletet, amely bemutatja az osztály szolgáltatásainak használatát. Hibakezelést nem kell implementálnia!


2008.01.05. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: