Kihagyás

Év végi projektfeladatok

Az alábbi 30 feladat a C# programozás alapvető logikai, algoritmikus és adatszerkezeti (tömbök, listák, stringek) ismereteit kéri számon konzolos környezetben.

  1. Jelszógenerátor: Írj programot, amely bekéri a kívánt jelszó hosszát, majd véletlenszerűen generál egy jelszót, amely garantáltan tartalmaz legalább egy kisbetűt, nagybetűt, számot és speciális karaktert!
  2. Titkosírás (Caesar-kódolás): Kérj be egy mondatot és egy eltolási értéket (pl. 3). A program alakítsa át a szöveget úgy, hogy minden betűt az ABC-ben 3-mal arrébb lévő betűre cserél. Készítsd el a dekódoló részt is!
  3. Számrendszer átváltó: Készíts programot, amely egy bekért 10-es számrendszerbeli egész számot átvált kettes, nyolcas és tizenhatos számrendszerbe, beépített konvertáló függvények (pl. Convert.ToString(szam, 2)) használata nélkül, tiszta algoritmussal!
  4. Bővített Kő-papír-olló: Készítsd el a klasszikus játékot kiegészítve (pl. Kő-papír-olló-gyík-Spock). A program a konzolon fusson, és vezesse a statisztikát, hogy a játékos vagy a gép nyert-e többször egy 10 körös meccsen.
  5. Szövegstatisztika: Kérj be egy hosszú szöveget a felhasználótól. A program számolja meg, hány szóból, hány magánhangzóból áll a szöveg, és melyik a leghosszabb szó benne!
  6. Amőba (Tic-Tac-Toe): Készíts konzolos 3x3-as amőba játékot két játékos számára! A program egy 2D tömbben tárolja az állást, rajzolja ki a táblát minden lépés után, és ellenőrizze, hogy van-e nyertes.
  7. Bankautomata szimulátor: A program induláskor kérjen PIN kódot (max. 3 próbálkozás). Sikeres belépés után jelenítsen meg egy menüt: egyenleg lekérdezése, pénz befizetése és felvétele. Figyeljen arra, hogy ne lehessen mínuszba menni!
  8. Kitalálós játék (Számok): A gép gondoljon egy számra 1 és 1000 között. A felhasználónak tippelnie kell. A gép minden tipp után megmondja, hogy a gondolt szám kisebb vagy nagyobb. A végén írja ki a próbálkozások számát!
  9. Akasztófa: A gép válasszon egy szót egy előre megadott tömbből. A képernyőn jelenjenek meg alsóvonalak a betűk helyén. A felhasználónak betűket kell tippelnie (max. 7 hibázási lehetőség).
  10. Prímszám elemző: Kérj be egy számot. A program döntse el, hogy prím-e. Ha nem az, bontsa fel prímtényezők szorzatára és írja ki a képernyőre (pl. 12 = 2 * 2 * 3)!
  11. Palindrom vizsgáló: Kérj be egy szót vagy mondatot, és döntsd el róla, hogy palindrom-e (visszafelé olvasva is ugyanaz), figyelmen kívül hagyva a szóközöket és a kis/nagybetű különbségeket!
  12. Fibonacci sorozat: Kérj be egy N számot, majd írd ki a képernyőre a Fibonacci sorozat első N elemét! Számold ki a sorozat generált elemeinek átlagát is!
  13. Saját rendezés (Buborékrendezés): Hozz létre egy 50 elemű, véletlenszerű számokkal feltöltött tömböt. Rendezd a tömb elemeit növekvő sorrendbe beépített Array.Sort() metódus használata nélkül, buborékrendezés algoritmussal!
  14. Mátrix műveletek: Hozz létre két 3x3-as 2D tömböt (mátrixot) véletlenszámokkal. Írasd ki őket, majd készítsd el és írasd ki a két mátrix összegét és szorzatát tartalmazó új mátrixokat!
  15. Italautomata (Visszajáró): A program kérje be a termék árát és a bedobott pénzösszeget. Számolja ki a visszajárót, majd írja ki, hogy a gép ezt milyen címletekben (200, 100, 50, 20, 10, 5) tudja a legkevesebb érmével kiadni!
  16. Hőmérséklet konverter: Készíts menüvezérelt programot, amely képes Celsius, Fahrenheit és Kelvin fokok közötti oda-vissza váltásra. A program addig fusson, amíg a kilépés menüpontot nem választják.
  17. Kockadobás szimulátor: Szimulálj 10 000 darab dobást két 6 oldalú dobókockával. Vezesd egy tömbben, hogy melyik összeg (2-től 12-ig) hányszor fordult elő, majd jeleníts meg egy sávdiagramot (csillagokkal) a konzolon az arányokról!
  18. Anagramma ellenőrző: Kérj be két szót, és döntsd el róluk, hogy anagrammái-e egymásnak (pontosan ugyanazokat a betűket tartalmazzák-e, csak más sorrendben)!
  19. Lottósorsolás (Ismétlődés nélkül): Állíts elő 5 véletlenszerű számot 1 és 90 között úgy, hogy garantáltan ne legyen köztük megegyező (ismétlődés vizsgálata tömbben/listában)! A végén növekvő sorrendben írd ki őket!
  20. Mondatfordító: Kérj be egy mondatot, majd írd ki úgy, hogy a szavak sorrendje megfordul, de a szavakon belül a betűk sorrendje marad (pl. "Indul a görög alaljrat" -> "alaljrat görög a Indul").
  21. Armstrong számok: Egy szám Armstrong-szám, ha számjegyeinek a számjegyek darabszámára emelt hatványösszege megegyezik magával a számmal (pl. 153 = 1^3 + 5^3 + 3^3). Keresd meg és írd ki az összes Armstrong számot 1 és 10 000 között!
  22. Pascal háromszög: Kérj be egy egész számot (pl. 7), és rajzold ki a konzolra a Pascal-háromszög első 7 sorát, középre igazítva!
  23. Collatz-sejtés: Kérj be egy pozitív egész számot! Ha páros, oszd el 2-vel, ha páratlan, szorozd meg 3-mal és adj hozzá 1-et. Ezt ismételd addig, amíg 1-et nem kapsz. Írd ki a lépések sorozatát és azt, hogy hány lépésből jutott el az 1-hez!
  24. Cenzúra: Kérj be egy szöveget és egy "tiltott szót". A program keresse meg a szövegben a tiltott szót, és cserélje le azonos számú csillagra (*), majd írja ki a cenzúrázott szöveget!
  25. Tökéletes számok: Tökéletes szám az, amelynek az önmagánál kisebb osztóinak összege megegyezik a számmal (pl. 6 = 1 + 2 + 3). Keresd meg és írd ki az összes tökéletes számot 1 és 10 000 között!
  26. Sakktábla generátor: Kérj be egy N számot, és rajzolj ki a konzolra egy N x N-es sakktábla mintát 'X' és ' ' (szóköz) karakterek felhasználásával!
  27. Leghosszabb növekvő sorozat: Hozz létre egy 30 elemű, véletlen számokkal feltöltött tömböt. Keresd meg és írd ki benne a leghosszabb, folyamatosan növekvő számsorozatot!
  28. Számjegyek összege: Kérj be egy tetszőlegesen nagy számot (akár 50 karakter hosszút, tehát stringként kell kezelni), és számold ki a számjegyeinek az összegét!
  29. Tömb elforgatása: Hozz létre egy 10 elemű tömböt, majd kérj be egy K számot. Forgasd el a tömb elemeit K lépéssel jobbra (ami kiesik a jobb szélen, az jöjjön be a bal szélen), majd írd ki az eredményt!
  30. Szikla-tenger (Game of Life 1D): Készíts egy 1 dimenziós sejtautomata szimulációt egy 20 elemű tömbön. A szabály: ha egy sejtnek (1-es érték) pontosan 1 szomszédja van, túléli a kört. Ha 0 vagy 2, meghal (0 lesz). Jelenítsd meg a változásokat 10 generáción keresztül!