Laborvezetőknek
A (logikailag) első hat előadás laborkártyái közül válogatva kérdezzük végig a hallgatóságot! Arra külön figyeljünk, hogy aki nem tudott egy kártyát, az mindenképpen kapjon a következő laboron is!
Hallgatóknak
Nagyon hatékony előre készülni a laborra, sokan és sok trófeát szereznek így! Más: szezonja van a teljesítés egyik szükséges feltétele megvédésének. Természetesen C-ben és C++-ban is lehet tolni a beszámolót. Érdemes korábban kezdeni két okból is: hátha csak harmadszorra sikerül... illetve akire nem kerül sor a végén, mert mondjuk nagyon feltorlódnak a védeni kívánó hallgatók, annak a védés hiánya triviálisan sikertelen védésnek számít!
Tematika
Az alábbi témák legtöbbjét próbáljuk lefedni a "9/10" gyakorlaton:
- módosítsuk az 5. előadástól írogatott saját Verem osztályunkat úgy, hogy ne betű- (char) verem, hanem szám- (int) verem legyen!
- Majd módosítsuk úgy, hogy lebegőpontos szám- (double) verem legyen!
- Aztán sztring- (std::string) verem legyen!
- Megelégelve a fenti feladatokat: módosítsuk úgy, hogy a kívánt típus paraméter legyen! Ugyanúgy működjön például erre:
int
mint ahogyan erre:
main (int argc, char *argv[])
{
Verem<double> v (512);
v.push (5.5);
v.push (5.6);
std::cout << "tombkent:" << v[0] << std::endl;
std::cout << "tombkent:" << v[1] << std::endl;
Verem<double> u;
u.push (6.5);
u.push (6.6);
u = v;
while (u.getDarab ())
std::cout << "u: " << u.pop () << std::endl;
while (v.getDarab ())
std::cout << "v: " << v.pop () << std::endl;
return 0;
}int
main (int argc, char *argv[])
{
Verem<std::string> v (512);
v.push ("alma");
v.push ("korte");
std::cout << "tombkent:" << v[0] << std::endl;
std::cout << "tombkent:" << v[1] << std::endl;
Verem<std::string> u;
u.push ("dio");
u.push ("banan");
u = v;
while (u.getDarab ())
std::cout << "u: " << u.pop () << std::endl;
while (v.getDarab ())
std::cout << "v: " << v.pop () << std::endl;
return 0;
} - írjunk tetszőleges típusra működő bináris fát!
BN laborján
- Az int, double és sztring veremért 1 trófea az elsőnek (már jó ideje "vermezünk", akinek esetleg még sincs kéznél, itt a 10. változat, a main-t írjátok át olyanra mint a fenti, pl. hívódjon belőle a másoló értékadás),
- két trófea a mindenre működő veremért az első háromnak.
- Három trófea az első háromnak, aki megírja a sablonos bináris fát (a korábbi bináris fa továbbfejlesztéseként).
- 5 trófea az elsőnek, aki saját (pl. Int, 1 trófea, aki csak az int.h, int.cpp és saját main.cpp-vel az Int-ünket kiokosítja a kivonársa pl.) osztályának példányait is fába tudja szedni (a BinFa függvények ne az osztálydefinícióban legyenek és szervezzük külön fájlokra a megoldást). Utóbbi kettőnek például az alábbi esetekben kell jól működnie:
Egy saját Int osztályra:
#include "int.h"
A sztenderd sztringekre:
#include "binfa.h"
int
main () {
BinFa<Int> binSzamFa;
Int n;
while (std::cin >> n)
{
binSzamFa << n;
}
binSzamFa.kiir ();
binSzamFa.szabadit ();
return 0;
}
#include <string>
#include "binfa.h"
int
main ()
{
BinFa<std::string> binSzoFa;
std::string s;
while (std::cin >> s)
{
binSzoFa << s;
}
binSzoFa.kiir ();
binSzoFa.szabadit ();
return 0;
}