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.
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.
3. Olvassunk be 2 NxN es mátrixot billentyűzetről, majd írjuk ki az A+B illetve az AxB mátrixokat.
5. Írjunk egy programot, amely beolvas egy NxN es mátrixot és beszúr a közepére egy N ből álló sort.
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.
- 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
- 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
- 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.
- 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
-
- 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
Forrás: 2017 Olimpiász, helyi szakasz, X. osztály