Struktúrákból felmérő pénteken, 2025. ápr. 4-én. Anyag:
- struktúrák definíciója és használata, egymásba ágyazott struktúrák
- struktúrák rendezése (ld. diákadatbázis)
- dinamikus memóriakezelés
- verem és sor adatszerkezetek, implementáció tömbbel
- kézzel megoldható feladatok struktúrákkal, veremmel és sorral (érettségi tételekhez hasonló)
Tétel
2 pont jár hivatalból, 3 pont a diákadatbázisnál beadott forráskódra. Nem kell teljes programokat írni, csak a kért kódrészletet mindenhol.
1. feladat:
Készítsünk struktúrát User néven egy felhasználó adatainak tárolására a következő mezőkkel, majd jelentsünk be egy 100 felhasználó tárolására alkalmas tömböt! (0.5 pont)
- username – legfeljebb 30 betűs felhasználónév;
- password – legfeljebb 30 betűs jelszó;
- rating – valós szám;
- bonus – természetes szám.
- Írjunk le egy utasítást, mely az utolsó felhasználó bónuszpontjainak számát megduplázza! (0.5 pont)
- Számítsuk ki a 100 darab felhasználó átlagos rating-jét! (0.5 pont)
- Rendezzük a felhasználókat rating szerinti csökkenő sorrendbe (egyenlőség esetén név szerint abc-rendbe) és írjuk ki az új sorrendben csak a felhasználóneveket! (0.5 pont)
Megoldás
| |
2. feladat:
Adott egy üres verem és az ezen elvégzett PUSH(2); PUSH(7); PUSH(9); PUSH(8); POP; PUSH(6); POP; POP; PUSH(4);
PUSH(5) műveletsor. Írjuk ki a verem tartalmát egy-egy lépés elvégzése után! (0.5 pont)
Megoldás
2
2 7
2 7 9
2 7 9 8
2 7 9
2 7 9 6
2 7 9
2 7
2 7 4
2 7 4 5
3. feladat:
Adott egy üres sor és az előző feladatban leírt műveletek. Íjuk le a sor tartalmának alakulását egy-egy lépés elvégzése után! (0.5 pont)
Megoldás
2
2 7
2 7 9
2 7 9 8
7 9 8
7 9 8 6
9 8 6
8 6
8 6 4
8 6 4 5
4. feladat:
Definiáljunk egy struktúrát komplex számok tárolására és írjunk egy függvényt, ami két komplex szám szorzatát számítja ki! (1 pont)
Megoldás
| |
5. feladat:
Adott a következő deklaráció:
| |
A következő kifejezések mindegyikéről döntsük el, hogy helyesek-e (ha nem, írjuk le, hogy miért nem)! (4 x 0.25p)
x.x.y, x.y.x, x.B.y, x.A.x
Megoldás
x.x.y - nem helyes, mert x-nek az x adattagja double típusú, nem struktúra
x.y.x - helyes
x.B.y, x.A.x - nem helyesek mert A és B a struktúrák nevei, nem adattagok