keyboard_arrow_up

Halmaz

Algoritmusok és adatok az iskoklában 2. 2026.05.18 [folyamatban]

A halmaz

A halmaz az a cucc, amit vettél matek órán. Bővebb magyarázat felár ellenében sem adok. Köszi, szia, helló.

A lent látható módon valósítottuk meg C#-ban.

Létrehozás


    class Halmaz
    {
        int MaxDb = 100;
        int db;
        int[] elemek;

        public Halmaz()
        {
            db = 0;
            elemek = new int[MaxDb];
        }

        //...
    }

Beolvasás


    public void Beolvasas()
    {
        db = int.Parse(Console.ReadLine());
        for (int i = 0; i < db; i++)
        {
            elemek[i] = int.Parse(Console.ReadLine());
        }
    }

Kiírás


    public void Kiiras()
    {
        Console.WriteLine(db);
        for (int i = 0; i < db; i++)
        {
            Console.Write(elemek[i] + " ");
        }
        Console.WriteLine();
    }

Az elvárt beolvasási és kiírási mód kb. feladatonként más, így a fenti két függvény könnyen revízióra szorulhat.

Halmazba


    public void Halmazba(int elem)
    {
        if (!ElemeE(elem))
        {
            elemek[db] = elem;
            db++;
        }
    }

Halmazból


    public void Halmazbol(int elem)
    {
        int i = 0;
        while (i < db && elemek[i] != elem) i++;
        if (i < db)
        {
            elemek[i] = elemek[db - 1];
            db--;
        }
    }

Ürítés


    public void Urites()
    {
        db = 0;
    }

Eleme-e


    public bool ElemeE(int elem)
    {
        int i = 0;
        while (i < db && elemek[i] != elem) i++;
        return i < db;
    }

Üres-e


    public bool UresE()
    {
        return db == 0;
    }

Része-e


    public bool ReszeE(Halmaz masik)
    {
        if (masik.db < this.db) return false;

        int i = 0;
        while (i < db && masik.ElemeE(elemek[i])) i++;
        return i >= db;
    }

Egyenlő-e


    public bool EgyenloE(Halmaz masik)
    {
        if (db != masik.db) return false;
        for (int i = 0; i < db; i++)
        {
            if (!masik.ElemeE(elemek[i])) return false;
        }
        return true;
    }

Unió


    public Halmaz Unio(Halmaz masik)
    {
        Halmaz unio = new Halmaz();
        for (int i = 0; i < this.db; i++) unio.Halmazba(this.elemek[i]);
        for (int i = 0; i < masik.db; i++) unio.Halmazba(masik.elemek[i]);
        return unio;
    }

Metszet


    public Halmaz Metszet(Halmaz masik)
    {
        Halmaz metszet = new Halmaz();
        for (int i = 0; i < this.db; i++)
        {
            if (masik.ElemeE(elemek[i])) metszet.Halmazba(elemek[i]);
        }
        return metszet;
    }

Különbség


    public Halmaz Kulonbseg(Halmaz masik)
    {
        Halmaz kulonbseg = new Halmaz();
        for (int i = 0; i < this.db; i++)
        {
            if (!masik.ElemeE(elemek[i])) kulonbseg.Halmazba(elemek[i]);
        }
        return kulonbseg;
    }

További linkek

A class teljes kódja (C#)