Hola
Bueno tengo algunos dias tratando de hacer lo que me pusiste elektro pero no me sale
o me da combianciones raras o me da el error de variable fuera de rango te pongo el codigo a ver donde me estoy pelando
Bueno tengo algunos dias tratando de hacer lo que me pusiste elektro pero no me sale
o me da combianciones raras o me da el error de variable fuera de rango te pongo el codigo a ver donde me estoy pelando
Código (vbnet) [Seleccionar]
Public Class LuisClass_v2
ReadOnly Randomizer As New Random
' Num ReadOnly FixedValues As Integer() =
' Num Enumerable.Range(1I, 49I).ToArray ' 1 to 30
ReadOnly FixedValues As Integer() = {1, 5, 19, 22, 34, 55, 66, 88, 9, 20, 25}
ReadOnly RandomValues As Integer() =
Enumerable.Range(FixedValues.First, FixedValues.Last).ToArray ' 1 to 30
Dim Combo As List(Of Integer) = Nothing
Dim Combos As New List(Of List(Of Integer))
Private Sub Test() Handles MyBase.Shown
Dim IndexCounter As Integer = FixedValues.First ' 1
Dim LenCounter As Integer = 0I
Const NumStep As Integer = 3I
Const NumLen As Integer = 6I
Do Until IndexCounter > FixedValues.Last ' IndexCounter > 30
Combo = New List(Of Integer)
For Num As Integer = IndexCounter To (FixedValues.Count) Step NumStep ' 1 to 30 Step 3
' Combo.Add(Num)
' LenCounter += 1I
Combo.Add(FixedValues(NumStep * LenCounter))
If LenCounter >= NumLen Then
Exit For
End If
Next ' Num
If LenCounter < NumLen Then ' If LenCounter < 10
For RandomNum As Integer = 1I To (NumLen - LenCounter)
Dim n As Integer = Randomizer.Next(RandomValues.First, RandomValues.Last)
Do Until Not Combo.Contains(n)
n = Randomizer.Next(RandomValues.First, RandomValues.Last)
Loop
Combo.Add(n)
Next ' RandomNum
End If ' LenCounter < NumLen
#If DEBUG Then ' #Debug
Debug.WriteLine(String.Join(", ", Combo))
' Stop
#End If
Combos.Add(Combo)
IndexCounter += 1I
LenCounter = 0I
Loop ' IndexCounter >= FixedValues.Last
' ********
' Listbox:
' ********
Combos.ForEach(Sub(comb As List(Of Integer))
' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
ListBox1.Items.Add(String.Join(", ",
From value As String In comb
Select If(value.Length = 1I,
value.Insert(0I, "0"c),
value)))
End Sub)
End Sub ' Test
End Class