Általános leírás
Törekedj arra, hogy szép, áttekinthető kódot írj! Úgy oldd meg a feladatokat, hogy függvényeket használsz a megoldáshoz! A felhasznált függvényekben ne történjen konzolra való kiírás!
Mindegyik feladatban nagyon fontos, hogy bár két inputfájlt kapsz, úgy írd meg a programod, hogy bármilyen, a feladatkiírásnak megfelelő inputfájlpárral működjön!
3.100-NY Nyílt napi beosztás
Iskolánk nyílt napjára általános iskolás diákok jelentkeztek. A férőhelyek száma korlátozott, ezért a jelentkezési sorrend alapján döntjük el, ki vehet részt a programon. A bejutott diákokat ezután csoportokba osztjuk. Olvasd be a két bemeneti fájlt, majd oldd meg a következő feladatokat! Minden feladat előtt a program írja ki a feladat sorszámát!
Az iskolak.tsv az iskolák adatait tartalmazza. A fájl UTF-8 kódolású, mezőit tabulátor választja el, első sora mezőneveket tartalmaz. Az oszlopok sorrendje: az iskola OM-száma, teljes neve, a kerület száma és a település neve. Az OM-szám egyedi, pontosan hat számjegyből áll; szövegként tárold, hogy az esetleges kezdő nullák is megmaradjanak! A kerületszám 0 és 23 közötti egész szám. A 0 számot a nem budapesti iskolák kapják. A feladatban minden iskola budapesti.
012345;Példa Általános Iskola;10;Budapest
023456;Minta Általános Iskola;14;Budapest
A jelentkezesek.csv minden sora egy diák jelentkezését
tartalmazza. A fájl UTF-8 kódolású, nincs fejlécsora, mezőit pontosvessző választja el.
A mezők sorrendje: a jelentkezés időpontja, a tanuló teljes neve, iskolájának OM-száma.
Az időpont formátuma éééé-HH-nn ÓÓ:pp:mm, például
2026-10-15 08:03:27; az időpontot dátum és idő típusú adatként kezeld!
A teljes nevet és az iskola OM-számát szövegként tárold!
Minden tanuló egyszer jelentkezett, és minden megadott iskola szerepel az iskolák fájljában.
A szöveges mezők nem tartalmaznak pontosvesszőt vagy sortörést, és nincsenek idézőjelezve.
A jelentkezések nem feltétlenül időrendben szerepelnek.
2026-10-15 08:03:27;Kovács Anna;012345
2026-10-15 08:01:12;Nagy Bence;023456
2026-10-15 08:05:40;Tóth Eszter;012345
-
A bejutottak névsora.
Kérj be a felhasználótól egy
Negész számot! Feltételezheted, hogy1 <= N <= a jelentkezők száma. A jelentkezési idő szerint elsőNdiák jut be a nyílt napra. Ha két jelentkezés időpontja megegyezik, a bemeneti fájlban előbb szereplő jelentkezés élvez elsőbbséget. Készíts névsort a kapunál dolgozók számára: írd ki a bejutott diákok teljes nevét, osztályát és iskolájának teljes nevét! A névsor a diákok teljes neve szerint, magyar ábécérendben növekvően legyen rendezve, hogy a belépőket könnyen megtalálják, és diákigazolványuk alapján az iskolájukat is ellenőrizhessék. Névazonosság esetén az iskola OM-száma, majd az osztály szöveges értéke szerint növekvő sorrend döntsön; további egyezés esetén a jelentkezési sorrendet használd! -
Csoportbeosztás.
A korábbi években az azonos iskolából érkező diákok gyakran egymással beszélgettek
az előadások alatt. A szervezők ezért idén szeretnék őket minél egyenletesebben
szétosztani a csoportok között.
Kérj be két pozitív egész számot:
Ka csoportok száma,Mpedig az egy csoportba beosztható diákok legnagyobb száma! Feltételezheted, hogyK · M >= N. Kizárólag az első feladatban bejutottNdiákot oszd be; mindenki pontosan egy csoportba kerüljön! Egyik csoportban sem lehetMfőnél több. Minden iskolára külön-külön teljesüljön, hogy az abból érkező diákok száma bármely két csoportban legfeljebb eggyel tér el! Ebbe az összehasonlításba azokat a csoportokat is számítsd bele, amelyekbe az adott iskolából senki sem került. Így ha egy iskolából legfeljebbKdiák jutott be, mindannyian különböző csoportba kerülnek. Ha többen vannak, a lehető legegyenletesebben oszlanak el. Több megfelelő beosztás esetén bármelyiket megadhatod. Készítsd el a csoportvezetők számára nyomtatandó névsorokat külön-külön UTF-8 kódolású fájlokba! A csoportok sorszáma 1-tőlK-ig terjedjen; azi. csoport névsora acsoporti.txtfájlba kerüljön, példáulcsoport1.txt,csoport2.txtés így tovább. Minden csoportnál először a csoport száma szerepeljen, majd külön sorokban a beosztott diákok teljes neve és iskolájának teljes neve, pontosvesszővel elválasztva! A diákok az első feladatban meghatározott névsorrendben szerepeljenek. Az üres csoportokhoz is készíts fájlt: az első sorban a csoport száma, alatta a „Nincs beosztott diák.” szöveg szerepeljen!