Kihagyás

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:

HashSet<tipus> halmaznev = new HashSet<tipus>();

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