HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Egyedi véletlen számokat tartalmazó lista előállítása


Példaprogram letöltése

7652 bájt

Véletlen számokat könnyedén generálhatunk, viszont ha egy olyan listára lenne szükség, melynek elemei véletlenszerű számokat tartalmaznak, de ezek között nem lehet két egyforma, akkor már kissé bonyolódik a helyzet. A mellékelt példában készítünk egy függvényt, mely képes arra, hogy egy általunk megadott érték tartományban, általunk megadott elem számú listát állítson elő véletlen számokkal feltöltve úgy, hogy az elemek között ne legyen ismétlődés.

Ez a függvény az UploadList lesz, első paraméterben a szükséges darabszámot kell megadnunk, másodikban az előfordulható legnagyobb számot.
A lista feltöltés előtt ellenőriznünk kell, hogy a legnagyobb lehetséges szám értéke nagyobb vagy egyenlő-e a kért darabszámmal. Ha ez a feltétel nem teljesülne, akkor bele sem kezdünk a lista generálásába, mivel ebben az esetben nem lehet annyi egyedi szám, ahány eleme kellene hogy legyen a listának.
    private void UploadList(int count, int max)
    {
      if (max>=count)
      {
        Random r = new Random();
        int a;
Egy while ciklust addig futtatunk, amíg a lista el nem éri a kért elem számot. A ciklusmagban kérünk egy új véletlenszerű számot, majd ellenőrizzük, hogy ez szerepel-e már a listában, ha még nem, akkor hozzáadjuk a listához.
        while (listBox1.Items.Count<count)
        {
          a = r.Next(max);
          if (listBox1.Items.IndexOf(a)<0)
          {
            listBox1.Items.Add(a);
          }
        }
      }
    }
Függvényünk felhasználásához csak törölnünk kell a listát, hogy indulásnál ne tartalmazzon egyetlen elemet sem, majd meghívjuk az UploadList függvényünket.
    private void button1_Click(object sender, System.EventArgs e)
    {
      listBox1.Items.Clear();
      UploadList(5, 10);
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 502. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |