Házi feladat

4000B

Általános leírás

A 3.J osztályban egy új social network, a Buddify hódit: mindenki bejelölhet másokat mint barát (buddy), és ha ő visszajelöli őt, akkor ők mostantól barátok lesznek. A régi ismerős 3.J osztályban a visszaigazolt kapcsolatokról egy mátrix készült, ezt tartalmazza a 4000B_kapcsolatok.tsv. A 4000B_tanulok.tsv tartalmazza a jól ismert adatokat a 3.J osztály tanulóiról és csoportbontásairól, testvéreik számáról stb. A fájlok beolvasását külön függvényben végezd el! Minden feladathoz külön függvényt írj! Mindegyik feladatban nagyon fontos, hogy bár egyetlen inputfájlt kapsz, úgy írd meg a programod, hogy bármilyen, a feladatkiírásnak megfelelő inputfájllal működjön!

(B) Buddify social network

A 4000B_tanulok.tsv fájl egy osztály névsorát, különböző tanulócsoportokba történő beosztását és néhány egyéb adatát tartalmazza. Az egyes adatelemeket tabulátor választja el. A mezőneveket a fájl tartalmazza. A 4000B_kapcsolatok.tsv egy szimmetrikus mátrixban tartalmazza a visszaigazolt kapcsolatokat. Az i. sor j-edik oszlopában pontosan akkor van 1-es szám, ha a névsorban i. tanuló és a j. tanuló barátok a Buddify rendszeren belül. Ezek a barátságok mindig szimmetrikusak, tehát ha X barátja Y-nak, akkor Y is barátja X-nek.

4000B_baratok.tsv

4000B_kapcsolatok.tsv

A tanulok esetében az egyes oszlopok jelentése a következő:

  1. Olvasd be a fájlt és írd ki a képernyőre graphviz számára értelmezhető formátumban, hogy kiknek van visszaigazolt barát kapcsolatuk a Buddy alkalmazásban!
  2. Vagd Alma és Parady Csoma barátok-e?
  3. Vagd Alma és Ordy Bálint barátok-e?
  4. Ka Pál és Feles Elek barátok-e?
  5. Hány barátja van Ordy Bálintnak?
  6. Hány barátja van Mérta Nórának?
  7. Kinek van a legtöbb barátja?
  8. Kinek van a legkevesebb barátja?
  9. Van-e olyan barátja Ne Pálnak, akivel egy matekcsoportba jár?
  10. Hány olyan barátja van Mángor Olgának, akinek több testvére is van?
  11. Lapos Elemér pizsipartit szervez, ahova a barátait mind meghívja. Kiket hívott meg?
  12. Meg Győző meghívja az összes barátait és azok testvéreit a születésnapi zsúrjára. Hány főt hívott meg?
  13. Szüre Tibor buliba hívja a barátait, méghozzá úgy, hogy ők is hívják meg minden barátukat, és így tovább. Hányan lesznek végülis a buliban?
  14. Hot Elek is bulit szervez, de hozzá csak azok mehetnek, akik Elek barátai, vagy azok barátai. Hányan lesznek Elek buliján?
  15. Kor Mihály nagyon szeretne egy bizalmas üzenetet eljuttatni Cita Dellának, de csak barátok írhatnak egymásnak az alkalmazásban. Hány emberen kell átmenjen az üzenet és kik kell továbbítsák ezt az üzenetet, hogy Kor Mihálytól az üzenetet a lehető legbiztonságosabban eljusson Cita Dellához? Ha több lehetséges megoldás is van, elegendő egyet megadni.
  16. Feles Elek tudomást szerez arról, hogy a másnapi második nyelvi órája elmarad. Ha terjeszti a barátai között a hírt, akik szintén tovább adják az információt, és így tovább, akkor eljut-e minden csoporttársához ez a hír? Ha van, akihez nem jut el a hír, sorold fel őket!