ELEMI ALGORITMUSOK
I Tétel
Két természetes számot ikerpárnak nevezünk, ha prímszámok, és különbségük modulusza 2.
Írj olyan C/C++ programot, amely megjeleníti az n-nél kisebb vagy azzal egyenlő természetes számok halmazán
alkotható ikerpárokat.
Példa: Ha n=19, akkor a program a következőket jeleníti meg: (3, 5), (5, 7), (11, 13), (17, 19).
II Tétel
Írj olyan programot, amely beolvas egy n természetes számot,
és kiszámítja az n elé írt összes különböző szám összegét (S).
A program beolvassa a billentyűzetről az n számot,
és az S számot megjeleníti a képernyőn.
Példa: Ha n=12345, akkor S=13715 (=1+12+123+1234+12345) jelenik meg.
III Tétel
Olvass be n természetes számot. Határozd meg, hogy közülük hánynak a legnagyobb számjegye páratlan szám.
A program beolvassa a billentyűzetről az n számot (1 ≤ n ≤ 100),
majd n (egyenként legfeljebb 9 számjegyű) természetes számot, szóközzel elválasztva.
A program a képernyőn megjeleníti a kívánt értéket.
Példa: n = 3 és a 178, 32, 44 számok esetén a program 1-et fog megjeleníteni
(csak a 32-es számnak páratlan a legnagyobb számjegye)
IV Tétel
Írjon olyan C/C++ programot, amely a billentyűzetről beolvas három természetes számot
x, y és k, (1 < x < y < 200000000, k < 1000) és a képernyőn k prímszámot jelenít meg az [x, y] tartományból.
Ha nincs k prímszám az [x,y] tartományban, akkor az összes talált prímszámot megjeleníti,
és a következő sorban a kevesebb prímszámot talált: üzenet jelenik meg, amelyet a számuk követ.
Példa: x=3 y=12 k=5 esetén a kijelzőn megjelenik: 3 5 7 11
kevesebb prímszámot találtunk: 4
V Tétel
Írjon olyan C/ C++ programot, amely egy adott n természetes számra (1 ≤ n ≤ 100)
kiszámítja az E = 1! - 2! + 3! - 4! + ... + (-1)n-1 n! kifejezés értékét!
Példa: n=4 esetén -19-et jelenít meg.
VI Tétel
Az atestat.in fájl több, szóközzel elválasztott, legfeljebb 9 számjegyből álló természetes számot tartalmaz.
Írjon olyan C/C++ programot, amely a képernyőn megjeleníti a fájlban található összes,
csak páros számjegyekből álló számot. Ha nincsenek ilyen számok, akkor a Nem letezik! üzenetet írja ki!
Példa: ha az atestat.in a következő számokat tartalmazza: 1233 22 1785 46 5657 457,
akkor a program a következőket fogja megjeleníteni: 22 46
VII Tétel
Írjon olyan C/C++ programot, amely az atestat.in szöveges fájlból beolvassa a legfeljebb egyenként
3 számjegyből álló, szóközzel elválasztott természetes számokat, és az atestat.out fájlban megjeleníti
azok legnagyobb közös osztóját.
Példa: ha az atestat.in a 2 8 6 44 10 számokat tartalmazza,
akkor az atestat.out állományban a következő lesz: cmmdc=2.
VIII Tétel
Egy természetes számot pallindrómnak nevezünk,
ha a balról jobbra olvasott szám megegyezik a jobbról balra olvasott számmal.
A numbers.in szövegfájl legfeljebb 100000, egyenként legfeljebb kilenc számjegyű,
szóközzel elválasztott természetes számot tartalmaz.
A számok közül legalább egynek megvan a pallindróm tulajdonsága.
Írjunk olyan C/C++ programot, amely beolvassa a numbers.in fájlból a számokat, és meghatározza,
hogy melyik a legnagyobb beolvasott pallindróm szám.
A program az így meghatározott számot jelenítse meg a képernyőn.
Példa: Ha a numbers.in a következő számokat tartalmazza: 23 565 78687 7887 7654 7867 23 98979,
akkor a program megjeleníti: 78687.
IX Tétel
A table.txt szöveges fájl legfeljebb 1000 darab, egyenként legfeljebb négy számjegyű természetes számot
tartalmaz, szóközzel elválasztva.
Írjon olyan C/C++ programot, amely beolvassa a számokat a fájlból, és a képernyőn növekvő sorrendben
megjeleníti azokat a számokat a fájlban, amelyeknek az összes számjegye egyenlő.
Ha a fájl nem tartalmaz ilyen számokat, akkor a képernyőn a DOES NOT EXIST üzenet jelenik meg.
Példa: ha a table.txt fájl a következő számokat tartalmazza: 30 44 111 7 25 5,
akkor a képernyőn 5 7 44 111 jelenik meg.
EGYDIMENZIÓS TÖMBÖK
X Tétel
Olvassunk be egy n (1≤n≤100) természetes számokból álló 1D tömböt.
Írjon olyan C/C++ programot, amely a képernyőn megjeleníti a tömbben szereplő azon számokat,
amelyeknek az inverze osztható a számjegyeinek összegével.
Minden megjelenített sor tartalmazza a számot, annak inverzét és számjegyeinek összegét szóközzel elválasztva.
Példa: n=5 és a 13 12 24 17 68 számok esetén a program a következőt jeleníti meg:
12 21 3
24 42 6
XI Tétel
Írjon olyan C/C++ programot, amely beolvas a billentyűzetről egy n természetes számot (1≤n≤100),
majd egy n egész számból álló, egyenként legfeljebb 9 számjegyű, a1, a2, a3, ...an sorozatot,
majd egy második, n egész számból álló, egyenként legfeljebb 9 számjegyű, b1, b2, b3, ...bn sorozatot.
Mindegyik sorozat tartalmaz páratlan és páros értékeket is.
A program a képernyőn megjeleníti a b sorozat azon páratlan számainak összegét, amelyek kisebbek,
mint az a sorozat összes páros számának összege.
Példa: n=4 és a 2, 3, 7, 8 illetve 44, 3, 1, 8 számok esetén a program a 4-es értéket jeleníti meg,
mivel a 3 és az 1 kisebb, mint az a sorozat lévő páros számok összege, ami 10 (2+8).
XII Tétel
Írjon olyan C/C++ programot, amely beolvas a billentyűzetről egy n természetes számot (1≤n≤500),
majd egy n darab, egyenként legfeljebb 9 számjegyű természetes számokból álló sorozatot,
és ellenőrzi, hogy a sorozat elemei átrendezhetők-e úgy, hogy megfeleljenek a következő szabálynak:
a második elem 1-nel nagyobb, mint az első, a harmadik 2-vel nagyobb, mint a második, ... ,
az utolsó n-1-gyel nagyobb, mint az utolsó előtti.
A program a képernyőn megjeleníti az IGEN üzenetet, ha igen, és a NEM üzenetet, ha nem.
Példa1: n=4 és 8, 5, 11, 6 sorozat esetén IGEN jelenik meg (az elemek átrendezhetők, hogy megfeleljenek a megadott szabálynak: 5, 6, 8, 11).
Példa2: n=4 és 9, 5, 1, 10, 6 sorozat esetén NEM jelenik meg (az elemek nem rendezhetők át).
XIII Tétel
Írjon olyan C/C++ programot, amely beolvas a billentyűzetről egy n-edik n természetes számot (0 < n < 100),
majd n legfeljebb 9 számjegyű természetes számot, és a képernyőn megjeleníti azon beolvasott értékek számát,
amelyeknek több számjegyük van, mint az utoljára beolvasott számnak.
Példa: ha n esetén az 5 értéket olvassuk be, majd a 121 135 4 5612 25 számsorozatot,
a kijelzőn a 3 értéket fogjuk látni.
XIV Tétel
Adott egy n elemű, természetes számokból álló számsor (1 ≤ n ≤ 1000).
Határozzuk meg a sorozat azonos paritású elemeinek leghosszabb sorozatát
(a beolvasott n szám 1000-nél kisebb lesz).
A program a billentyűzetről beolvassa az n számot, majd n természetes számot.
A program a képernyőn megjeleníti a meghatározott értéket.
Példa: ha n=10 és a számok 5 5 1 1 1 1 2 2 2 2
a kiírt érték 4 lesz.
XV Tétel
A table.txt szöveges fájl első sorában egy n természetes szám (1 < n < 1000)
és egy legfeljebb 9 számjegyű x természetes szám,
a második sorában pedig n darab, egyenként legfeljebb 9 számjegyű természetes szám található.
Írjunk olyan C/C++ programot, amely beolvassa az n és x számokat,
majd beolvassa a fájl második sorában lévő n számot, és ellenőrzi,
hogy x legalább kétszer szerepel-e a fájl második sorában lévő számsorozatban.
Ha igen, akkor a képernyőn az IGEN üzenet jelenik meg, ellenkező esetben a NEM üzenet jelenik meg.
Példa 1: ha a table.txt fájl első sorában a következő szerepel: 8 52, és a második sorban pedig 38 40 17 51 52 53 54 52, akkor a kijelzőn megjelenik: IGEN;
Példa 2: ha a table.txt fájl első sora a következőket tartalmazza: 8 40 és a második sorban 38 40 17 51 52 53 54 52, akkor az üzenet: NEM.
XVI Tétel
A sir.in szöveges fájl maximum 1000 darab, egyenként legfeljebb ötjegyű természetes számot tartalmaz, szóközzel elválasztva.
Írjon olyan C/C++ programot, amely beolvassa a számokat a fájlból, és a képernyőn növekvő sorrendben megjeleníti azokat a számokat a fájlban,
amelyeknek az összes számjegye egyenlő.
Ha a fájl nem tartalmaz ilyen számokat, akkor a képernyőn a NINCS üzenet jelenik meg.
Példa 1: Ha a sir.in fájl a következő számokat tartalmazza: 30 44 111 7 25 5, akkor a képernyőn megjelenik az 5 7 44 111 szám.
Példa 2: Ha a sir.in fájl a következő számokat tartalmazza: 25 371 21 117, akkor a kijelzőn a NINCS üzenet jelenik meg.
XVII Tétel
Írjon olyan C/C++ programot, amely a billentyűzetről beolvassa az n természetes számot (0 < n < 1000) és egy n valós számból álló sorozatot.
Ezeknek a számoknak egész és tört részei is vannak, amelyek legfeljebb három számjegyből állnak.
A program meghatározza és az unice.out fájlban megjeleníti a sorozatban csak egyszer előforduló összes számot.
Példa: ha n=7, és a sorozat a 3.4 -151 0.291 3.4 4.09 3.4 0.291 elemekből áll,
akkor az unice.out fájlban -151 4.09 lesz látható.
XVIII. Tétel
A digits.in szöveges fájl az első sorban egy n természetes számot (0 < n < 1000),
a második sorban pedig n darab, egyenként legfeljebb 9 számjegyű természetes számot tartalmaz,
szóközzel elválasztva. Írjunk olyan C/C++ programot, amely beolvassa a fájlban lévő összes számot,
és a képernyőn csökkenő sorrendben, szóközzel elválasztva megjeleníti a fájl második sorában lévő,
azonos számjegyekkel kezdődő és végződő számokat.
Példa: Ha a digits.in fájl tartalma a következő:
9
55 107 3 101 92 7 208 2782 80,
akkor a következő számok jelennek meg: 2782 101 55 7 3.
KÉTDIMENZIÓS TÖMBÖK
XIX Tétel
Írjon olyan C/C++ programot, amely beolvas a billentyűzetről egy n természetes számot,
majd egy n soros és n oszlopos kétdimenziós tömb elemeit, egész számokat a [-100,100] tartományban,
és a képernyőn a szigorúan pozitív elemek számtani középértékét jeleníti meg,
amelyek a főátló alatt helyezkednek el, a példa szerint.
Ha a főátló alatt nincsenek szigorúan pozitív elemek, a program a
Nem létezik! üzenetet írja ki.
Példa: n=4 és az alábbi mátrix esetén
-1 2 4 5
0 6 3 1
2 4 2 0
3 -5 1 -3
a 2,5 érték jelenik meg.
Translated with DeepL.com (free version)