Unikátní náhodné číslov poli – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Unikátní náhodné číslov poli – Visual Basic – Fórum – Programujte.comUnikátní náhodné číslov poli – Visual Basic – Fórum – Programujte.com

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Honza
~ Anonymní uživatel
425 příspěvků
14. 12. 2019   #1
-
0
-

Ahoj, prosím o radu.

Mám pole proměnných o deseti proměnných a každá proměnná musí nabývat náhodné hodnoty.

Neznáte někdo elegantní řešení jak ošetřit, aby generátor náhodných čísel generoval vždy unikátní hodnoty v rozmezí 1 až deset? Zkrátka aby každá proměnná v tom poli měla jedinečnou hodnotu? Díky Honza

Nahlásit jako SPAM
IP: 89.102.236.–
gna
~ Anonymní uživatel
1210 příspěvků
15. 12. 2019   #2
-
0
-

Obecně můžeš hrubě generovat čísla dokud nedostaneš takové, které ještě v poli nemáš.

Nebo elegantněji, a v tomhle případě se to vyloženě nabízí, můžeš to pole naplnit řadou hodnot a pak ho zamíchat. (Každý prvek prohodíš s náhodně vybraným prvkem ze zbytku.)

Nahlásit jako SPAM
IP: 213.211.51.–
Luboš
~ Anonymní uživatel
84 příspěvků
15. 12. 2019   #3
-
0
-

Ahoj.

Přesně jak uvádí gna.

Třeba nějak takto:

Option Explicit

Private Sub Command1_Click()
Const min As Long = 1   'prvni pole
Const max As Long = 10  'posledni pole
Dim pole(min To max) As Long
Dim index As Long
Dim i As Long
Dim hodnota As Long
'naplnění pole hodnotami
    For i = min To max
        pole(i) = i
    Next i
'seřazení pole
    For i = min To max - 1
        index = Int((max - i + 1) * Rnd + i)
        hodnota = pole(i)
        pole(i) = pole(index)
        pole(index) = hodnota
        Print pole(i);
    Next i
    Print pole(i)
End Sub

Private Sub Form_Load()
'Inicializace funkce RND
    Randomize
End Sub

Nahlásit jako SPAM
IP: 89.103.231.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Unikátní číslo v poli — založil MaxDJs

Unikatni hodnota — založil Earl Cash

Unikátní název článku — založil Hacky

Povinný unikátní klíč — založil Forest

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý