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;
}