Programozó versenyek

Magas szintű programozási nyelvek 2, 2016. május 17., K16 ZH

2016. május 17. 16:05 – 2016. május 17. 17:55

Csavarkészlet (C#)

Írjon programot, amelynek első parancssori argumentuma egy szöveges állomány neve!

A program a szöveges állományból szerszámosládákat leíró blokkokat olvas be. Egy szerszámosládát leíró blokk adatai a következők: az első sor két egész számot tartalmaz, a szerszámosláda hosszúságának (h) és szélességének (sz) az értékét, ahol 3 ≤ h ≤ 40 és 3 ≤ sz ≤ 40. A következő h sor mindegyikében sz darab karakter található, amelyek a szerszámosládában lévő holmikat jelképezik: 'O' (nagy O betű) jelzi az anyacsavarokat, a '*' (csillag) karakter pedig az apacsavarok fejét. Természetesen minden „apafejhez” tartozik csavartest is, ezeket '-', '|', '/' és '\' karakterek jelzik. A csavartestek különböző hosszúságúak lehetnek, és – érdekes módon – mindegyik csavartestről egyértelműen megállapítható, hogy melyik „apafejhez” tartozik. A fentiektől eltérő karakterek a szerszámosládában található egyéb kacatokat írják le.

A program minden blokk esetén határozza meg és írja a standard kimenetre külön sorban, hogy hány anyacsavar és apacsavar található a szerszámosládában! Az apacsavarok darabszámát hosszuk szerint csoportosítva, a hosszok növekvő sorrendjében jelenítse meg a kimeneten a példa kimenetben látható formában!

Példa állomány (sample.txt)

  1. 8 20
  2. ...O........--*.....
  3. .*..................
  4. .|..........O.......
  5. .......\............
  6. ....../.\*---.......
  7. ...../...\......*...
  8. ....*.....\..../....
  9. ...........*../.....
  10. 9 20
  11. ...O.........-*.....
  12. .*...X..............
  13. .|...*----..O......X
  14. .|...../.......XX...
  15. .|.O.X/.\*-....XX...
  16. ...../...\......*...
  17. ....*.....\..../....
  18. .X.........*........
  19. ......O............X
letöltés szöveges állományként

Parancssori argumentumok

  1. sample.txt
letöltés szöveges állományként

A futtatás eredménye a standard kimeneten

  1. 2 1:1 2:3 3:1 4:1
  2. 4 1:3 3:3 4:1
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.