Kombinasyon Hesabı

düzenle|Aralık 2006

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

Kaynaklar

Vikipedi

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.