Responsive image Boda Szilárd weblapja

Laborfeladatok:

1. Adott egy "input.txt" file, amelynek első sorában két szám van, N és M (mindkettő 3 és 10 között), majd a következő N sorban M érték található.
Olvassuk be a számokat egy mátrixba, majd írjuk ki egy "output.txt" fileba egy másik mátrixot, ami 0 és 1 esekből áll,
a következő logika alapján: ha az eredeti mátrix i, j eleme prím, akkor 1 et írjunk ki, ha nem, 0 t.


input.txt
  • 3 3
  • 12 13 1
  • 2 3 4
  • 5 6 7



output.txt
  • 0 1 1
  • 1 1 0
  • 1 0 1

2. Adott egy "input.txt" file, amelynek első sorában két szám van, N és M (mindkettő 3 és 10 között).
Olvassuk be a számokat egy mátrixba, majd írjunk ki egy "output.txt" fileba egy másik mátrixot, ami 0 és 1 esekből áll,
a következő logika alapján: ha az eredeti mátrix i, j eleme pallindróm, akkor 1 et írjunk ki, ha nem, 0 t.


input.txt
  • 3 3
  • 12 13 1
  • 22 31 44
  • 51 61 77



output.txt
  • 0 0 1
  • 1 0 1
  • 0 0 1



3. Olvassunk be 2 NxN es mátrixot billentyűzetről, majd írjuk ki az A+B illetve az AxB mátrixokat.

Bemenet
  • N=3
  • 1 2 3
  • 1 2 3
  • 1 2 3
  • 8 7 6
  • 8 7 6
  • 8 7 6



Kimenet
  • 9 9 9
  • 9 9 9
  • 9 9 9



4. Olvassunk be egy NxN es mátrixot egy fileból, majd írjuk ki:


Bemenet
  • N=3
  • 1 2 3
  • 4 5 6
  • 7 8 9



Kimenet
  • Elso sor: 1 2 3
  • Utolso sor: 7 8 9
  • Elso oszlop: 1 4 7
  • Utolso oszlop: 3 6 9

5. Írjunk egy programot, amely beolvas egy NxN es mátrixot és beszúr a közepére egy N ből álló sort.

Bemenet
  • N=4
  • 1 2 3 4
  • 4 5 6 7
  • 1 2 3 4
  • 5 6 7 8



Kimenet
  • 1 2 3 4
  • 4 5 6 7
  • 4 4 4 4
  • 1 2 3 4
  • 5 6 7 8

Pluszfeladatok

1. Írjon egy C/C++ programot, amely egy n (n ∈[2,102]) természetes számot és egy n elemű, természetes, az [0,104] intervallumban található számokból álló sorozatot olvas be a billentyűzetről. A program építsen fel a memóriában egy kétdimenziós tömböt, n sorral és n oszloppal, 0-tól sorszámozva ezeket úgy, hogy bármely páros sorszámú oszlopot lentről felfele, vagy a páratlan sorszámúakat fentről lefele bejárva, a beolvasott sorozatot kapjuk vissza, akárcsak a példában. A program írja ki a képernyőre a kért tömböt, a tömb minden sora a képernyő külön sorában jelenjen meg és a soron belüli elemeket egy-egy szóközzel elválasztva.


Bemenet
  • n=4
  • 7 2 5 3



Kimenet
  • 3 7 3 7
  • 5 2 5 2
  • 2 5 2 5
  • 7 3 7 3

Forrás: 2018 Pótérettségi II/5

2. Írjon egy C/C++ programot, amely beolvas a billentyűzetről egy páros természetes számot n (n∈[2,50]) és egy n sort és n oszlopot tartalmazó kétdimenziós tömb elemeit, amelyek valós számok, majd átalakítja a tömböt a memóriában, beszúr középre egy új sort, amely minden elemének értéke egyenlő lesz a beolvasott tömb megfelelő oszlopában található elemek számtani középarányosával. Az így kapott tömböt írja ki a képernyőre, a tömb minden sorát a képernyő egy-egy sorába, a sorok minden elemét egy-egy szóközzel elválasztva

Bemenet
  • n=4
  • 1.5 0.75 3 1.2
  • 2.75 1.25 2.25 1.5
  • 4.5 1.15 3 4.5
  • 0.25 0.85 1.75 3



Kimenet
  • 1.5 0.75 3 1.2
  • 2.75 1.25 2.25 1.5
  • 2.25 1 2.5 2.55
  • 4.5 1.15 3 4.5
  • 0.25 0.85 1.75 3

Forrás: 2017 Pótérettségi II/5


3. Márton egy új számítógépes játékot fedezett fel, aminek Candy Crush a neve. A képernyőn N x N (1 ≤ n ≤ 50) mátrixban különböző (1 ≤ k ≤ 5) színű golyókat helyezünk el . A golyók színeit 1 és 16 közötti természetes számokkal kódolják. A mátrixnak azt a részét, amelyben az összes golyó azonos színű, szigetnek hívják. A sziget mérete megegyezik a gömbök számával, amelyből felépül. Mártonnak van egy íja, amellyel golyókra tud lőni. Ha egy golyó egy minimum 3 nagyságú szigethez tartozik, akkor a sziget eltűnik, s az alatta levő elemek fennebb csúsznak. Ha ezzel a csúszással egy új, legalább 3 as méretű sziget képződik, akkor ez a folyamat tovább folytatódik, addig, ameddig a keletkezett szigetek mérete kisebb, mint 3, vagy amíg elfogynak a golyók. A játék lényege, hogy maximális számú golyót ejtsünk ki a játékból.
Márton egy egyszerű stratégiát választ ehhez, mindig egy olyan szigetre lő, amely a képernyő maximális méretű szigetének része, és amelynek legalább egy tagja van az alsó sorban. Ha több ilyen sziget van, akkor azt válassza, amelynek az alsó sorban a legtöbb eleme van. Ha a képernyőn lévő összes sziget hossza 3-nál kisebb vagy azzal egyenlő, a játék véget ér.
Például, ha a kezdeti mátrix
5 1 3 3 2 2
2 2 3 1 1 5
5 5 5 4 3 3
5 2 3 2 3 1
5 5 5 1 1 1
Márton az 5 ös szigetre lő. Ezáltal a következő mátrix jön létre:
5 1 3 3 2 2
2 2 3 1 1 5
0 2 3 4 3 3
0 0 0 2 3 1
0 0 0 1 1 1
Ahol a 2 es és 3 as szigetek alakultak, szóval ezeket is megszűntetve:
5 1 0 1 2 2
0 0 0 4 1 5
0 0 0 2 4 7
0 0 0 1 2 1
0 0 0 0 1 1
Most Márton az 1 es gömbre lő:
5 1 0 1 2 2
0 0 0 4 1 5
0 0 0 2 3 3
0 0 0 1 3 0
0 0 0 0 0 0
Majd a 3asra:
5 1 0 1 2 2
0 0 0 4 1 5
0 0 0 2 0 0
0 0 0 1 0 0
0 0 0 0 0 0
Elértünk a játék végéhez.
Kérések: Ismerve a kezdeti mátrixot, határozzuk meg a végsőt k lövés után, illetve a maradt szigetek számát.

gomb.be
  • 3
  • 5 1 3 3 2 2
  • 2 2 3 1 1 5
  • 5 5 5 4 3 3
  • 5 2 3 2 3 1
  • 5 5 5 1 1 1



gomb.ki

  • 5 1 0 1 2 2
  • 0 0 0 4 1 5
  • 0 0 0 2 0 0
  • 0 0 0 1 0 0
  • 0 0 0 0 0 0

sziget.txt
  • 4

Forrás: 2017 Olimpiász, helyi szakasz, X. osztály