Kombinasyon hesabı
Vikipedi, özgür ansiklopedi
BİR ÇOK ŞEKİLDE KULLANILABİLİR BİR KOD. Not: Değiştir bölümüne girin, sayfa düzeni oradan daha iyi görülebilir.
Public OynananMacSayisi As Integer Public BankoSayisi As Integer Public SistemSayisi As Integer Public SistemeDahilMacSayisi As Integer Public OlusanKuponSayisi As Double
Public SelectionArray() As String Public PosArray() As Integer
Public CombinationArray() As String
Public Sub CreateCombinations() If OlusanKuponSayisi = 1 Then Exit Sub ReDim CombinationArray(1 To OlusanKuponSayisi * SistemSayisi) ReDim SelectionArray(1 To SistemeDahilMacSayisi) ReDim PosArray(1 To SistemSayisi)
Static i As Integer Dim ColID As Integer
InitializeSelectionArray
For i = 1 To SistemSayisi PosArray(i) = i Next i FlushPosArray2CombinationArray ColID = SistemSayisi While PosArray(1) < SistemeDahilMacSayisi - SistemSayisi + 1 ReArrangePosArray ColID FlushPosArray2CombinationArray Wend
End Sub
Public Sub ReArrangePosArray(xColID As Integer) Dim i As Integer
If xColID = SistemSayisi Then PosArray(xColID) = PosArray(xColID) + 1 If PosArray(xColID) > SistemeDahilMacSayisi Then xColID = xColID - 1 ReArrangePosArray xColID End If Else PosArray(xColID) = PosArray(xColID) + 1 If PosArray(xColID) > SistemeDahilMacSayisi - SistemSayisi + xColID Then xColID = xColID - 1 ReArrangePosArray xColID End If For i = xColID + 1 To SistemSayisi PosArray(i) = PosArray(i - 1) + 1 Next i xColID = xColID + 1 End If
End Sub
Public Sub FlushPosArray2CombinationArray() Static arID As Integer If IsNewQuery = True Then
arID = 0
End If IsNewQuery = False Dim i As Integer
For i = 1 To SistemSayisi CombinationArray(arID + i) = SelectionArray(PosArray(i)) Next i arID = arID + SistemSayisi
End Sub