Kezdőoldal » Számítástechnika » Programozás » Hogyan kellene ezt a feladatot...

Hogyan kellene ezt a feladatot megoldani C++-ban ?

Figyelt kérdés

Készíts programot, amely megadja azt a tanárt, akinek a legkeveseb lyukasórája van!


Bemenet:

A standard bemenet első sorában az órák száma (1=<O=<1000) tanárok száma

(1=<N=<100), a tantárgyak száma (1=<M=<100) van egy-egy szóközzel elválasztva.

A következő sorok mindegyikében 4 egész szám van, egy-egy szóközzel

elválasztva: a tanár sorszáma (1=<TS=<N), a tanított tantárgy sorszáma

(1=<TTS=<M), a nap (1=<Nap=<5) és az óra (0=<Óra=<8). Például 3 7 2 0 azt

jelenti, hogy a harmadik tanár a hetedik tantárgyat a hét második napján

a nulladik órában tanítja.


Kimenet:

A standard kimenet egyetlen sorába ki kell írni annak a tanárnak a sorszámát,akinek a legkevesebb lyukasórája van (lyukasóra: nincs órája, de aznap előtte is van órája valamikor és utána is van órája valamikor)!


Példa:

Bemenet:

8 3 4

1 1 1 6

1 1 2 2

1 2 1 3

2 1 2 2

2 2 3 1

3 4 1 2

3 2 1 4

3 3 2 1


Kimenet :2


Így szeretném megoldani a feladatot viszont az első lépést nem tudom, hogyan kellene kivitelezni. Valaki tudna nekem ebben segíteni ?

1. Megszámoljuk hány lyukasórája van egy tanárnak.

2. Kiválasztjuk azt akinek a legkevesebb van.



2021. nov. 7. 20:51
 1/3 anonim ***** válasza:

minden tanár adatait beolvasod egy 2 dimenziós tömbbe


először ki kell nullázni az egészet, majd addig olvasni az adatokat, amíg ugyanannak a tanárnak az adatai jönnek, és a tömbben elmented

például: adatok[2][4]==1 jelentse azt, hogy a 2. napon van 4. órája (tehát első dimenzió azonosítja a napot, a második az órát)


ha az összes megvan, akkor naponként bejárod a tömböt, és megszámolod, hogy az i. naphoz, hány lyukasóra tartozik

az i. nap j. órája lyukasóra, ha j>0 és j<8 és adatok[i][j]==0 és adatok[i][j-1]==1 és adatok[i][j+1]==1


ha megszámoltad, akkor összehasonlítod az ediggi maximummal, és szükség esetén azt frissíted


majd újra ki kell nullázni a tömböt, és lehet kezdeni beolvasni a következő tanár adatait


(az pedig, hogy hány nap, hány óra van, meg van adva a feladat leírásában, szóval nem kell dinamikus memóriakezeléssel foglalkozni és azt is előre lehet tudni, hogy hány adat lesz)

2021. nov. 7. 22:22
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Első ránézésre ez lenne a tervem:


Csinálok egy 3 dimenziós int tömböt. Első koordánátája a tanárok, második a napok (5 hosszú), a harmadik koordináta pedig egy bool lista (8 hosszú), false-ra inicializált mind.

Tehát van N*M bool listám. Ahogy jönnek be a sorok, ezekbe a bool listákba jelölöm be az órákat. Szóval a fenti példánál az 1-es tanár 1-es naphoz tartozó listájában a 3. és 6. bit lesz true.


Aztán végigiterálnék a listákon, az első és utolsó true-k közötti távolságokat megmérve számíthatóak lyukas órák adott napra.

Ezeket aztán tanáronként összegezni kell.

2021. nov. 7. 22:33
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Rosszul írtam az elején, bool tömb, nem int.
2021. nov. 7. 22:35
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!