vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: häufigkeit von zufallszahlen beschränken 
Autor: Manfred X
Datum: 06.07.16 21:22

Irgend so was ...
Dim rndm1 As New Random
 
''' <summary>Folge von Zufallszahlen (Integer)</summary>
''' <param name="minval">Kleinste zulässige Zufallszahl</param>
''' <param name="maxval">Größte zulässige Zufallszahl</param>
''' <param name="maxcount">Maximale Häufigkeit einer Zufallszahl</param>
''' <param name="count">Länge der Zufallszahlenfolge</param>
''' <returns>Zufallszahlenfolge</returns>
Private Function GetRandomIntegers _
   (ByVal minval As Integer, ByVal maxval As Integer, _
    ByVal maxcount As Integer, ByVal count As Integer) As Integer()
 
   'Parameterchecks
   If minval >= maxval Then Return Nothing
   If maxcount < 1 Or count < 1 Then Return Nothing
   If maxcount * (maxval - minval + 1) < count Then Return Nothing
 
   Dim ret(count - 1) As Integer, v, c As Integer, ok As Boolean
 
   For i As Integer = 0 To count - 1
      Do
         v = rndm1.Next(minval, maxval + 1)
         c = 0
         'Wie oft wird v bereits verwendet?
         For k As Integer = 0 To i - 1
             If ret(k) = v Then c += 1
         Next k
         ok = c < maxcount 'Verwendbarkeit von v gegeben?
      Loop While Not ok
      ret(i) = v
   Next i
 
   Return ret
End Function
In Deinem Fall ...
Dim r() As Integer = GetRandomIntegers(1, 3, 2, 5)

Alternativ:
Alle zulässigen Zufallszahlen jeweils in der zulässigen Häufigkeit in
eine Liste eintragen und per Random jeweils einen Index ziehen.
Der gezogene Index wird aus der Liste entfernt, die Zahl am Index in
das Rückgabearray eingetragen.

Beitrag wurde zuletzt am 06.07.16 um 21:37:42 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
häufigkeit von zufallszahlen beschränken1.594Marty**06.07.16 20:21
Re: häufigkeit von zufallszahlen beschränken999Manfred X06.07.16 21:22
Re: häufigkeit von zufallszahlen beschränken927Marty**07.07.16 19:54
Re: häufigkeit von zufallszahlen beschränken912Manfred X07.07.16 20:07
Re: häufigkeit von zufallszahlen beschränken897Marty**16.07.16 19:20
Re: häufigkeit von zufallszahlen beschränken989Manfred X16.07.16 23:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel