Responsive image Boda Szilárd weblapja

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)