5.6. Halmaz
Egy halmaz egymástól különböző objektumok összessége. De felfoghatjuk úgy is, mint egy olyan lista, amelyben nem lehetnek azonos elemek. Ebben a tekintetben is megfelel a matematikai halmaz fogalomnak.
A halmaz deklarációja:
Műveletek halmazelemekkel:
- érték hozzáadása a halmazhoz:
halmaznev.Add(ertek) - eltávolít egy elemet a halmazból:
halmaznev.Remove(ertek) - a halmaz elemeinek törlése:
halmaznev.Clear() - az alaphalmaz és a halmaz unióját hozza létre az alaphalmazban:
alaphalmaz.UnionWith(halmaz) - a halmaz számossága:
halmaznev.Count
54. feladat
Írjunk programot, amely halmaz segítségével állítja elő a hatoslottó nyerőszámait és kiírja a képernyőre egymás mellé, majd a halmazt tömbbé alakítja és növekvő sorrendben kiírja a számokat egymás mellé! Név: halmaz
Megoldás:
using System;
using System.Collections.Generic;
using System.Linq;
namespace HalmazPélda
{
class Program
{
static void Main(string[] args)
{
HashSet<int> lotto6 = new HashSet<int>();
Random vsz = new Random();
while (lotto6.Count < 6)
{
lotto6.Add(vsz.Next(45) + 1);
}
foreach (int szam in lotto6)
{
Console.Write("{0,5}", szam);
}
int[] lottoTomb = new int[6];
lottoTomb = lotto6.ToArray();
Console.WriteLine();
Console.WriteLine(" Növekvő sorrendben: ");
Array.Sort(lottoTomb);
for (int i = 0; i < 6; i++)
{
Console.Write("{0,5}", lottoTomb[i]);
}
Console.ReadKey();
}
}
}