Kombinasyon hesabı

Vikipedi, özgür ansiklopedi

Bu ansiklopedi maddesinin biçim olarak Vikipedi standartlarına ulaşması için elden geçirilmesi gerekmektedir.
Bu madde Aralık 2006 tarihinden beri etiketli olarak durmaktadır.Düzenleme yapıldıktan sonra bu not silinmelidir.


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