Programozás I. házi feladatok


  1. 2. heti házi feladatok
  2. 3. heti házi feladatok
  3. 4. heti házi feladatok
  4. 5. heti házi feladatok
  5. 6. heti házi feladatok
  6. 8. heti házi feladatok
  7. 9. heti házi feladatok
  8. 10. heti házi feladatok
  9. 11. heti házi feladatok
  10. 12. heti házi feladatok
  11. 13. heti házi feladatok

2. heti házi feladat(ok)

  1. Rajzoljon folyamatábrát a következő problémák megoldására:
Vissza az elejére!

3. heti házi feladat(ok)

  1. Készítsen programokat, melyek a karakteres üzemmódú képernyő egy 21x21-es ablakában csillag karakterekkel megjelentetnek:
Vissza az elejére!

4. heti házi feladat(ok)

  1. Készítsen programokat a PELDA4.C alapján a következőképpen:
Vissza az elejére!

5. heti házi feladat(ok)

  1. Készítsen programot, mely a szabvány bemenetet olvassa EOF-ig! Megállapítandó és kijelzendő, hogy hány A, B, C, stb. karakter érkezett! A kis- és nagybetűk között nem teszünk különbséget! A betűkön kívüli többi karaktert tekitsük egy kategóriának, s ezek darab számát is jelezzük ki! Aki fokozni kívánja a feladatot, vegye be a magyar ékezetes kis- és nagybetűket is a betűk közé!

  2. Készítsen programot, mely neveket olvas a szabvány bemenetről EOF-ig vagy üres sorig! Megállapítandó egy fordítási időben megadott névről, hogy hányszor fordult elő a bemeneten! A feladat megoldásához készítendő egy int strcmp(char s1[], char s2[]) függvény, mely két karakterlánc összehasonlítását végzi, és egyezés esetén nullát szolgáltat visszaadott értékül! E függvényt később fejlesszük úgy tovább, hogy működése egyezzék a szabvány könyvtári változatéval!
Vissza az elejére!

6. heti házi feladat(ok)

  1. Készítsen szorzatpiramist! A piramis első sora álljon 100 és 115 közötti egész számokból! A következő sorokat úgy kapjuk, hogy a számokat páronként összeszorozzuk.
    Tehát a második sor számai: 100*101=10100, 102*103=10506, ..., 114*115=13110
    A harmadik sor pedig a következő: 10100*10506=106110600, 10920*11342=126854640, ..., 12656*13110=165920160
    Figyeljünk arra, hogy az eredményül kapott számokat mindig a lehető legkisebb helyen tároljuk, de a számoknak és a közbenső eredményeknek nem szabad csonkulniuk!

  2. Készítsen void reverse(char s[]) függvényt, mely a saját helyén megfordítja a paraméter karakterláncot!
Vissza az elejére!

8. heti házi feladat(ok)

  1. Készítsen int toi(char s[]) függvényt, mely tizenegynél kisebb alapú számrendszerbeli számjegyekből álló karakterláncból előállít egy egész számot! A számrendszer alapja legyen fordítási időben változtatható!

  2. Készítsen int htoi(char s[]) függvényt, mely hexadecimális számjegyekből álló karakterláncból állít elő egész számot!

  3. Készítsen int toi(char s[]) függvényt, mely a fordítási időben változtatható számrendszernek megfelelő számjegyekből álló karakterláncból állít elő egy egészet! A számrendszer alapja maximum 36 lehet.

  4. Készítsen int toi36(char s[], int n) függvényt, mely a második paraméterként megadott számrendszernek megfelelő számjegyekből álló karakterláncból állít elő egy egészet! A számrendszer alapja maximum 36 lehet itt is.

    A bekért számok mind a négy feladatnál természetesen ellenőrzendők a konverzió végrehajtása előtt!
Vissza az elejére!

9. heti házi feladat(ok)

  1. Készítsen unsigned rotl(unsigned) függvényt, mely visszaadja 1 bittel balra forgatva paramétere értékét!

  2. Készítsen unsigned rotr(unsigned) függvényt, mely 1 bittel jobbra forgatva adja vissza paramétere értékét!

  3. Készítsen unsigned tobbrotl(unsigned, unsigned) függvényt, mely az első paramétere értékét a másodikban megkapott bitszámmal forgatja balra!

  4. Készítsen unsigned tobbrotr(unsigned, unsigned) függvényt, mely az első paramétere értékét a másodikban megkapott bitszámmal forgatja jobbra!

    A függényeket kipróbáló programban célszerű binárisan megjelentetni a forgatni kívánt unsigned forgatás előtti és utáni állapotát, akár egy void BitekKi(unsigned) függvény segítségével.

  5. Készítsen programot, mely egész számokat kér be, meghatározza átlagukat, minimumukat, maximumukat és rendezi őket növekvőleg! Az egészek száma csak futás közben dől el. Csak formailag helyes egész számok fogadhatók el. A program elsőnek kérje be, hány egész szám lesz, s csak azután a számokat magukat!
Vissza az elejére!

10. heti házi feladat(ok)

  1. Készítsen void itoa(int n, char s[]) függvényt, mely az első paraméterként kapott egészet karakterlánccá konvertálja és a második paraméterben visszaadja! Figyeljünk rá, hogy a függvény INT_MIN-re is működjék!

  2. Készítsen int indexe(char s[], char t[]) és int indexu(char s[], char t[]) függvényeket, melyek meghatározzák és visszaadják a t paraméter karakterlánc s karakterláncbeli első, illetve utolsó előfordulásának indexét! Egy a függvényeket felhasználó tesztprogram írja ki a képernyőre egy adott próbakarakterlánc összes előfordulását is a billentyűzetről érkező sorokban! A próbakarakterlánc összes előfordulásának közlését - később visszatérve - oldjuk meg mutató segítségével is!

  3. Készítsen programot mely valós számokat kér be, meghatározza átlagukat, minimumukat, maximumukat és rendezi őket növekvőleg! A valós számok száma csak futás közben dől el. Csak formailag helyes számok fogadhatók el. A program elsőnek kérje be, hány szám lesz, s csak azután a számokat magukat! A konverzióhoz a szabvány könyvtári atoi és atof rutinok használandók!
Vissza az elejére!

11. heti házi feladat(ok)

  1. Készítse el a void itoa(int n, char s[]) függvény rekurzív változatát! Az új függvény paramétereit a rekurzív kivitelezéshez a lehető legcélszerűbben kell megválasztani.

  2. Készítsen rekurzív double hatvany(double alap, int kitevo) függvényt!

  3. Készítsen programot, mely kiszámítja, hogy hány nyúlpárunk lesz 3, 4, 5, ... , n hónap múlva, ha egy nyúlpár kéthónapos korától kezdve havonta egy-egy új nyúlpárt hoz a világra! Feltéve, hogy az új párok is e törvény alapján szaporodnak, és mind életben maradnak. A megoldás a Fibonacci-számok sora, ha a 0 kezdőelemet figyelmen kívül hagyjuk.
    a0 = 0
    a1 = 1
    an = an-1 + an-2

  4. Készítsen programot, amely a [10;20] intervallumba eső számokat olvas a szabvány bemenetről, amíg üres sort vagy EOF-ot nem adnak meg! Állapítsa meg, hogy melyik szám hány alkalommal fordult elő! Formailag hibás, vagy az intervallumon kívüli értékeket nem fogadhat el!

  5. Készítsen programot, amely neveket olvas a standard bemenetről üres sor, vagy EOF beviteléig! Minden egyes névről megállapítandó, hogy formailag helyes-e, vagy sem! Egy nevet helyesnek tekintünk, ha legalább 5 és legfeljebb 30 karakterből áll, valamint a benne lévő szavak száma 2 vagy 3.
Vissza az elejére!

12. heti házi feladat(ok)

    A gyakorlat szabad felhasználású. Lehet foglalkozni:

Vissza az elejére!

13. heti házi feladat(ok)

  1. Készítse el a PELDA24.C-hez hasonlóan a valós számok tömbbe olvasását és visszaírását! Az int getint(int *) függvény int getfloat(float *)-ra változtatandó! Az int bufp; lecserélendő char *bufp;-re! Tegyünk legalább annyi inputellenőrzést a getfloat-ba, hogy legalább egy numerikus karakter meglétét megkövetelje, ill. konvertálhatatlan karakterek esetén ürítsük ki a bemeneti puffert a legközelebbi fehér karakterig!

  2. Készítse el az alább felsorolt, ismert C függvények mutatós változatát! A char * visszatérésű függvények az eredmény címével térnek vissza!
Vissza az elejére!