Téma ismertetése

  • Általános

  • 1. Műveletek tömbökkel

  • 2. Tömb, ami ismeri a méretét

  • 3. Buborékos rendezés, Strassen algoritmusa

  • 4. Polinom AAT

    Polinom AAT implementálása

    szükséges függvények és struktúra:

    typedef struct Polinom {
          int fok;
          int *egyutthatok;

          int size;

    } Polinom;


    • Polinom* Create(int) - nullpolinomot létrehoz, max paraméter tag
    • void Destroy(Polinom*)
    • int PutEgyutthato(Polinom*, int, int) - ellenőrizni kell, hogy belefér-e, fokszámot át kell állítani, ha kell
    • int GetEgyutthato(Polinom*, int) - adott fokszámú tag együtthatójának lekérdezése
    • int NullPolinom(Polinom*) - ellenőrzés
    • void Print(Polinom*) - "szép" kiírás
    • Polinom* Osszead(Polinom*, Polinom*)
    • Polinom* Szoroz(Polinom*, Polinom*)
    • Polinom** Oszt(Polinom*, Polinom*) - tételezzük fel, hogy az első nagyobb, mint a másodi; az eredmény egy Polinom* elemeket tartalmazó kételemű tömb, aminek a 0. eleme a hányados-polinom, az 1. eleme a maradék-polinom.
    • int PolinomErteke(Polinom*, int) - behelyettesítési érték


    PutEgyutthato tesztsorozat (nullpolinomból kiindulva):

    P=Create(10);

    PutEgyutthato(P, 0, 2) -> fokszám: 0

    PutEgyutthato(P, 2, 1) -> fokszám: 2

    PutEgyutthato(P, 4, 1) -> fokszám: 4

    PutEgyutthato(P, 4, 0) -> fokszám: 2

    PutEgyutthato(P, 2, -2) -> fokszám: 2

    PutEgyutthato(P, 0, 0) -> fokszám: 2

    PutEgyutthato(P, 4, 0) -> fokszám: 2

    PutEgyutthato(P, 11, 2) -> fokszám: 2 -> HIBA!

    PutEgyutthato(P, 2, 0) -> fokszám: 0 (nullpolinom)




  • 5. Tömb adatszerkezet

    1. Egér a labirintusban

    Egy bemeneti állományban adott egy labirintus, egy egér pozíciója a labirintusban és a sajt pozíciója a labirintusban. Írjatok játékot, amelyben egy felhasználó el tudja vezetni az egeret a sajthoz. Az irányításhoz a nyilakat, vagy az ASDW billentyűket kell lehessen használni. Az egérnek tilos a pályáról leugrani és a falra mászni!

    Bemenet:

    n m

    n x m-es labirintus-mátrix (0-út, 1-fal)

    Ex Ey (egér koordinátái)

    Sx Sy (sajt koordinátái)


    A program futása során a labirintust tároljátok

    a. 2D tömbben,

    b. 1D tömbben.

    (2 projekt forráskódját kell feltölteni)


    2. Ritka mátrixokra írjátok meg a következő függvényeket:

    • beolvasás,
    • kiírás,
    • összeadás,
    • szorzás.

    A bemenet:

    n m

    n x m-es mátrix


    Írjátok meg 3 és 4 soros ábrázolással egyaránt.

    (2 projekt forráskódját kell feltölteni)

  • 6. Verem, sorok, listák

    1. Verem adatszerkezet

    typedef struct STACK{

        int size;

        char *elements;

        int sp; //stack pointer - veremmutató

    }STACK;


    STACK* Create(int); //létrehoz egy vermet

    void Push(STACK*, char); //betesz a verem tetejére

    char Pop(STACK*); //kiveszi a veremből a legfelső elemet

    char Top(STACK*); //megnézi a verem legfelső elemét

    int isEmpty(STACK*); //ellenőrzi, hogy üres-e a verem

    int isFull(STACK*); //ellenőrzi, hogy tele van-e a verem

    void Destroy(STACK*); //felszabadít

    void Print(STACK*); //kiírja a teljes verem tartalmát (segédfüggvény, nem tartozik az adatszerkezet definíciójához)


    2. Egyszeresen láncolt lista

    typedef struct PELEM{

        int data; //adatmező

        struct PELEM *next; //következő elem címe, ha nincs, akkor 0.

    }PELEM;


    //egy elemre vonatkozó függvények

    PELEM* Create(int); //létrehoz egy elemet

    void Destroy(PELEM*); //felszabadít egy elemet

    //lista

    PELEM* CreateL(); //return NULL;

    void DestroyL(PELEM*); //felszabadítja a teljes listát

    PELEM* insertLast(PELEM*, int); //beszúr a lista utolsó eleme után

    PELEM* insertFirst(PELEM*, int); //beszúr a lista első eleme elé

    PELEM* insertOrdered(PELEM*, int); //beszúr rendezetten egy feltételezhetően már rendezett listába

    void Print(PELEM*); //kiírja a lista adat-mezőit

    PELEM* SortL(PELEM*); //elrendezi a listaelemeket adatmező szerint növekvő sorrendbe

    PELEM* Delete(PELEM*, int); //töröl adott értékű elemet a listából


    3. Várakozási sor implementálása dinamikusan láncolt listával

    typedef struct VSOR{


    }