Newsgroup: it.comp.lang.visual-basic
Titolo: sviluppo combinazioni

Salve a tutti,
ho elaborato, con l'aiuto di altri espert in excel, questa macro in VBA che 
combina tre triple del totocalcio rappresentando poi le 27 diverse 
combinazioni.
Chiedo aiuto, se è possibile, modificare il listato in modo tale da poter 
elaborare un sistema con doppie, fisse, triple.
faccio un esempio, ora il programma funziona solo per:
1^ partita 1 x 2
2^ partita 1 x 2
3^ partita 1 x 2
pari a (3*3*3=27 combinazioni)
 
ma se il pronostico dovesse essere il seguente:
1^ partita 1 x
2^ partita 1
3^ partita 1 x 2
pari a (2*1*3=6 combinazioni) devono essere stampate solo le colonne valide.
 
ringrazio in anticipo chi mi può aiutare a risolvere il problema.
michele
 
 
 
Sub Combina_Pronostico()
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim Col1Sviluppo As Integer
Dim Row1Sviluppo As Integer
 
Col1Sviluppo = 10
Row1Sviluppo = 14
 
For C = 3 To 5
    For B = 3 To 5
        For A = 3 To 5
        Contatore = Contatore + 1
            Col1Sviluppo = Col1Sviluppo + 1
            Cells(Row1Sviluppo + 1, Col1Sviluppo) = Cells(2, A)
            Cells(Row1Sviluppo + 2, Col1Sviluppo) = Cells(3, B)
            Cells(Row1Sviluppo + 3, Col1Sviluppo) = Cells(4, C)
            Cells(10, 10) = Contatore & " colonne elaborate"
        Next A
    Next B
Next C
End Sub 
 

 End Sub
 
 
 
Praticamente � un cubo,cio� un array tridimensionale; Io userei un array 
multidimensionale (di tipo jagged,cio� frastagliato,come nel caso 3x2x1 ) 
dinamico per inserire e calcolare tutte i valori contenuti.
 
 

 michele
 
 
 
 
You can have a function return the number of combinations based on the input 
: combinations multipliers
Let's assume that combinations multipliers:
1 - 1
2 - 1X
3 - 1X2
 
1 represents either home or away win, 1 combination
2 stands for home win or draw, away win or draw, 2 combinations
3 is default: win, draw, win
The code:
 
 
Sub Combination_Prediction()
 
    ' combinations multipliers
    ' 1 - 1
    ' 2 - 1X
    ' 3 - 1X2
 
    Range("A1") = Combination(3, 3, 3) ' 1x2, 1x2, 1x2
    Range("B2") = Combination(2, 1, 3) ' 1x, 1, 1x2
 
End Sub
 
Function Combination(c1 As Long, c2 As Long, c3 As Long) As Long
 
    Dim i As Long, j As Long, k As Long, combinationMultiplier As Long
    combinationMultiplier = 0
 
    For i = 1 To c1
        For j = 1 To c2
            For k = 1 To c3
                combinationMultiplier = combinationMultiplier + 1
            Next k
        Next j
    Next i
 
    Combination = combinationMultiplier
End Function
 
If you ran this code, you will see in Cell A1 number 27 which is the correct 
(and simplified) calculation of possible bets.
The Combination() function takes 3 parameters which are the 3 combinations.
In the first example the first input is 3, 3, 3 as from your sample
1st game = 1x2
2nd game = 1x2
3rd game = 1x2
Now look at the combinations multipliers above
1st game = 1x2 = 3
2nd game = 1x2 = 3
3rd game = 1x2 = 3
Therefore, your 3 parameters are: 3, 3, 3
The second sample you provided
1st game = 1x = 2
2nd game = 1 = 1
3rd game = 1x2 = 3
therefore Combination(2, 1, 3) will return 6 (combinations) to Cell A2.
 
Stick any combination of 1, 2, 3 into the combination function to get 
results. You can either print them to cell or use msgbox or debug.print for 
testing.
 
Ciao 
 
 

grazie per la soluzione,
michele
 
"vittorio" <a...@aworrrnder.pp> ha scritto nel messaggio 
news:5225b5d7$0$1349$4faf...@reader2.news.tin.it...
