Összesített eredmények:
csütörtök 10-11
csütörtök 11-12
ZH eredmények infosheeten!
ZH írás a november 30-i heti előadás idejében és helyén (ütemezés)!
Tetszőleges NYOMTATOTT!!! segédanyag használható.
A ZH írás előfeltétele egy legalább 15 pontra megírt, és sikeresen megvédett kötelező program.
Minta ZH feladatsor megtalálható itt.
Kötelező programok listája
- B-fa adatszerkezet megvalósító osztálysablon (add, remove, iterator)
- CodeStream Sablonosztály, aminek egy típusparamétere van, egy függvényobjektum. Ez úgy definiálja felül az operator()-t, hogy annak egy char paramétere legyen, és szintén egy char-t adjon vissza, valamilyen algoritmus szerint elkódolva (vagy dekódolva). A CodeStream fstream segítségével fájlba ír és onnan olvas. Írjuk meg az operator<< és >> változatait a CodeStream-re, ami char-t és string-et tud beszúrni/kiolvasni egy fájlba/ból, de mielőtt ezt megtenné, a kapott függvényobjektummal elkódolja az adott char-t / string-et. A stream-et, ahova továbbítja az adatokat, konstruktor paraméterben kapja.
- Készítsünk objektumszerializálást megvalósító sablonosztályt. A kiszerializálandó objektum T típusát sablonparaméterként kapjuk. Legyen egy writeExternal es egy readExternal metódus, az elsőnek egy T vektor legyen a paramétere. Ezeket az objektumokat szerializálja ki fájlba úgy, hogy legelső adatnak kiírja hány darab objektumot fog kiszerializálni. A readExternal egy fájlból megpróbál T típusu objektumokat visszaszerializálni, és visszaadja őket egy vektorban. (Segítség itt.)
- Trigonometriai függvények (sin, cos, tan, arcsin, arccos, arctan) közelítő értékének kiszámítása metaprogrammal. (Közelítő: a függvények zárt alakja általában $\sum_{n=0}^{\infty}$ van megadva. A metaprogramban természetesen nem végtelen számú összegzést kell elvégezni.)
- Olyan mátrix-implementációt kell írni, melyben a mátrix dimenziói és alaptípusa template-paraméterek, használható a mátrix-mátrix szorzás és összeadás, valamint a konstanssal való szorzás. Mindezt olyan módon kell megvalósítani, hogy bonyolult mátrix-kifejezések során ne keletkezzenek felesleges temporális mátrixok. (ld. Eckel, Allison: Thinking in C++, Expression templates) Példaprogrammal mutasd be a sablon működését.
Kötelező programok kiosztása
Nem kell e-mailben jelentkezni, a programok automatikusan ki lettek osztva!
Feladatod sorszámát lásd az infosheet-en!!!
Beküldés e-mailben, határidő: 2009.11.16 23:59:59
Programok bemutatása a november 23-i héten!!!
A pontozási szempontokat lásd itt.