Programozás I. zárthelyi dolgozat 2013. november 11. 2-es szint:
Laptopot szeretnénk vásárolni, ezért írunk egy programot, amelynek megadjuk a lehetséges laptopok adatait. A laptopok árát, memória méretét és sebességét tároljuk. A program 5 laptop adatait kezeli. • A void beolvas(struct Laptop laptopok[], int mennyi); függvény beolvassa az egyes laptopok adatait. Először az árat, a sebességet, végül a ram mennyiségét olvassa be. A ram beolvasása után meg kell vizsgálni, hogy a beolvasott értékek közül van-e negatív, ha igen, akkor minden adatot újra be kell olvasni. • A void kiir(struct Laptop laptopok[], int mennyi); függvény írja ki a képernyőre a beolvasott, és eltárolt laptopok adatait. Egy laptopnak először az árát, sebességét, végül a memória méretét írja ki. • Az int maxAr(struct Laptop laptopok[], int mennyi); függvény adja vissza a legdrágább laptop árát. • Az int legjobb(struct Laptop laptopok[], int mennyi); függvény adjon A legjobb laptop indexét (0-tól indexelünk). Két laptop közül az olcsóbb a jobb. Ha az ár megegyezik, akkor az a jobb, amelyikben több ram van. Ha ez utóbbi érték is egyezik, akkor azt választjuk,amelyiknek nagyobb a sebessége. • A feladat megoldása során csak a fent felsorolt függvényeket szabad átírni. +1 jegy:
A void torles(struct Laptop laptopok[], int mennyi, int torolIndex); függvény törölje ki a torolIndexedik laptopot úgy, hogy minden utána következő laptopot 1-el előrébb hoz a tömbben. +1 jegy:
Az void felcserel(struct Laptop laptopok[], int mennyi); függvény megfordítja a tömbben szereplő laptopok sorrendjét, azaz felcseréljük az elsőt és az utolsót, majd a másodikat és az utolsó előttit, és így tovább. +1 jegy:
Az void rendez(struct Laptop laptopok[], int mennyi); függvény rendezze jóság szerint csökkenő sorrendbe a laptopokat, azaz a legjobb laptop kerül a tömb elejére, a legrosszabb a végére.. Annak a szabálya, hogy két laptop közül melyik a jobb, megegyezik a legjobb függvénynél leírtakkal. A megoldásban nem használható goto, continue, globális változók és a sort függvény. Az előre megadott függvények fejlécein a következő módosítások megengedettek: Az egyes paraméterek neveit megváltoztathatod. A struktúra típus nevét is szabadon átírhatod, valamint a typedef kulcsszóval egyszerűsíthetsz a kódon. Tilos új paramétert adnod a már megadott függvényekhez, vagy paramétereket elhagyni. Továbbá akármennyi új függvényt hozzáadhatsz a programhoz. A plusz jegyes feladatokat csak abban az esetben értékeljük, ha a 2-es szint hibátlan. A plusz jegyes feladatok bármilyen sorrendben megoldhatóak. Nem forduló forráskódot nem értékelünk. Csak a feladat leírásában található függvényeket, illetve a saját függvényeket szabad módosítani, különben a megoldást nem értékeljük. Ügyelj arra, hogy számot csak és kizárólag ott írjál ki, ahol a feladat megköveteli, és a több egymás utáni számok különüljenek el egymástól.
Példa kimenet a 2-es szinthez: Kerem az arat:4 Kerem a sebesseget:5 Kerem a ram meretet:2 Kerem az arat:100 Kerem a sebesseget:2000 Kerem a ram meretet:512 Kerem az arat:200 Kerem a sebesseget:2000 Kerem a ram meretet:1024 Kerem az arat:180 Kerem a sebesseget:1800 Kerem a ram meretet:1024 Kerem az arat:150 Kerem a sebesseget:1500 Kerem a ram meretet:1024 Kerem az arat:5 Kerem a sebesseget:1 Kerem a ram meretet:1010 Kerem az arat:6 Kerem a sebesseget:2 Kerem a ram meretet:2000 Kerem az arat:190 Kerem a sebesseget:2048 Kerem a ram meretet:1000 Ar: 100 Sebesseg: 2000 Ram: 512 Ar: 200 Sebesseg: 2000 Ram: 1024 Ar: 180 Sebesseg: 1800 Ram: 1024 Ar: 150 Sebesseg: 1500 Ram: 1024 Ar: 190 Sebesseg: 2048 Ram: 1000 Legdragabb ar: 200 A legjobb laptop: 0 Elso + jegyes feladat: 1 Masodik + jegyes feladat: 2 Harmadik + jegyes feladat: 3 100
Példa kimenet az 1. + jegyes feladathoz: Kerem az arat:4 Kerem a sebesseget:5 Kerem a ram meretet:2 Kerem az arat:100 Kerem a sebesseget:2000 Kerem a ram meretet:512 Kerem az arat:200 Kerem a sebesseget:2000 Kerem a ram meretet:1024 Kerem az arat:180 Kerem a sebesseget:1800 Kerem a ram meretet:1024 Kerem az arat:150 Kerem a sebesseget:1500 Kerem a ram meretet:1024 Kerem az arat:5 Kerem a sebesseget:1 Kerem a ram meretet:1010 Kerem az arat:6 Kerem a sebesseget:2 Kerem a ram meretet:2000 Kerem az arat:190 Kerem a sebesseget:2048 Kerem a ram meretet:1000 Ar: 100 Sebesseg: 2000 Ram: 512 Ar: 200 Sebesseg: 2000 Ram: 1024 Ar: 180 Sebesseg: 1800 Ram: 1024 Ar: 150 Sebesseg: 1500 Ram: 1024 Ar: 190 Sebesseg: 2048 Ram: 1000 Legdragabb ar: 200 A legjobb laptop: 0 Elso + jegyes feladat: 1 Masodik + jegyes feladat: 2 Harmadik + jegyes feladat: 3 1 Hanyadikat toroljem? 2 Ar: 100 Sebesseg: 2000 Ram: 512 Ar: 200 Sebesseg: 2000 Ram: 1024 Ar: 150 Sebesseg: 1500 Ram: 1024 Ar: 190 Sebesseg: 2048 Ram: 1000
Példa kimenet a 2. + jegyes feladathoz: Kerem az arat:100 Kerem a sebesseget:1000 Kerem a ram meretet:1000 Kerem az arat:200 Kerem a sebesseget:2000 Kerem a ram meretet:2000 Kerem az arat:300 Kerem a sebesseget:3000 Kerem a ram meretet:3000 Kerem az arat:400 Kerem a sebesseget:4000 Kerem a ram meretet:4000 Kerem az arat:500 Kerem a sebesseget:5000 Kerem a ram meretet:5000 Ar: 100 Sebesseg: 1000 Ram: 1000 Ar: 200 Sebesseg: 2000 Ram: 2000 Ar: 300 Sebesseg: 3000 Ram: 3000 Ar: 400 Sebesseg: 4000 Ram: 4000 Ar: 500 Sebesseg: 5000 Ram: 5000 Legdragabb ar: 500 A legjobb laptop: 0 Elso + jegyes feladat: 1 Masodik + jegyes feladat: 2 Harmadik + jegyes feladat: 3 2 A laptopok forditott sorrendben: Ar: 500 Sebesseg: 5000 Ram: 5000 Ar: 400 Sebesseg: 4000 Ram: 4000 Ar: 300 Sebesseg: 3000 Ram: 3000 Ar: 200 Sebesseg: 2000 Ram: 2000 Ar: 100 Sebesseg: 1000 Ram: 1000
Példa kimenet a 3. + jegyes feladathoz: Kerem az arat:200 Kerem a sebesseget:2000 Kerem a ram meretet:1024 Kerem az arat:180 Kerem a sebesseget:1000 Kerem a ram meretet:512 Kerem az arat:200 Kerem a sebesseget:1200 Kerem a ram meretet:2048 Kerem az arat:180 Kerem a sebesseget:1500 Kerem a ram meretet:512 Kerem az arat:150 Kerem a sebesseget:800 Kerem a ram meretet:128 Ar: 200 Sebesseg: 2000 Ram: 1024 Ar: 180 Sebesseg: 1000 Ram: 512 Ar: 200 Sebesseg: 1200 Ram: 2048 Ar: 180 Sebesseg: 1500 Ram: 512 Ar: 150 Sebesseg: 800 Ram: 128 Legdragabb ar: 200 A legjobb laptop: 4 Elso + jegyes feladat: 1 Masodik + jegyes feladat: 2 Harmadik + jegyes feladat: 3 3 Rendezes utan: Ar: 150 Sebesseg: 800 Ram: 128 Ar: 180 Sebesseg: 1500 Ram: 512 Ar: 180 Sebesseg: 1000 Ram: 512 Ar: 200 Sebesseg: 1200 Ram: 2048 Ar: 200 Sebesseg: 2000 Ram: 1024