Ho provato a modificare lo Script perché mi dava errore:
' Analisi Cinquine Frequenti (Sorte Terno) su tutte le 55 coppie di ruote
' Scansione globale e automatica
' Ricerca globale sui 90 numeri ottimizzata tramite scansione inversa
Sub Main
Dim IniAnno, FinAnno, nMese, MinFre
' Parametri di input
IniAnno = CInt(InputBox("Inserisci l'anno di inizio ricerca (es. 2018):", "Anno Inizio", 2018))
FinAnno = CInt(InputBox("Inserisci l'anno di fine ricerca (es. 2025):", "Anno Fine", 2025))
nMese = CInt(InputBox("Inserisci il mese da analizzare (1-12):", "Mese", 6))
MinFre = CInt(InputBox("Quante presenze minime per mostrare la cinquina?", "Presenze Minime", 2))
Call Scrivi("Mese ; " & MeseNome(nMese))
Call Scrivi("Anni da Analizzare : " & IniAnno & "-" & FinAnno)
Call Scrivi("--------------------------------------------------")
' 1. Pre-filtro: Estrazioni valide
Dim aDraws()
Dim cDraws, id
ReDim aDraws(EstrazioniArchivio)
cDraws = 0
For id = 1 To EstrazioniArchivio
If Anno(id) >= IniAnno And Anno(id) <= FinAnno Then
If Mese(id) = nMese Then
cDraws = cDraws + 1
aDraws(cDraws) = id
End If
End If
Next
ReDim Preserve aDraws(cDraws)
' 2. Mappatura esatta delle 11 ruote (da 1 a 10 + 12 Nazionale, escludendo l'11 Tutte)
Dim aRuote(11)
Dim i, j, k
For i = 1 To 10
aRuote(i) = i
Next
aRuote(11) = 12
Dim r1, r2, idx1, idx2, drawIdx
Dim n1, n2, n3, x, max1, max2, num1, num2
Dim numR(5)
Dim Cinq(5)
Dim freqNum(90)
Dim freqTerno(90, 90, 90)
Dim trovate
' 3. Scansione automatica e garantita delle 55 coppie
For idx1 = 1 To 10
For idx2 = idx1 + 1 To 11
r1 = aRuote(idx1)
r2 = aRuote(idx2)
Call Scrivi("Le 2 ruote analizzate sono : " & NomeRuota(r1) & " " & NomeRuota(r2))
Call Scrivi("Cinquina+FRE su 2R")
For i = 1 To 90
freqNum(i) = 0
For j = 1 To 90
For k = 1 To 90
freqTerno(i, j, k) = 0
Next
Next
Next
For drawIdx = 1 To cDraws
id = aDraws(drawIdx)
' Ruota 1
For k = 1 To 5
numR(k) = Estratto(id, r1, k)
If numR(k) > 0 Then freqNum(numR(k)) = freqNum(numR(k)) + 1
Next
If numR(1) > 0 Then
Call OrdinaMatrice(numR, 1)
For i = 1 To 3
For j = i + 1 To 4
For k = j + 1 To 5
freqTerno(numR(i), numR(j), numR(k)) = freqTerno(numR(i), numR(j), numR(k)) + 1
Next
Next
Next
End If
' Ruota 2
For k = 1 To 5
numR(k) = Estratto(id, r2, k)
If numR(k) > 0 Then freqNum(numR(k)) = freqNum(numR(k)) + 1
Next
If numR(1) > 0 Then
Call OrdinaMatrice(numR, 1)
For i = 1 To 3
For j = i + 1 To 4
For k = j + 1 To 5
freqTerno(numR(i), numR(j), numR(k)) = freqTerno(numR(i), numR(j), numR(k)) + 1
Next
Next
Next
End If
Next
trovate = 0
For n1 = 1 To 88
For n2 = n1 + 1 To 89
For n3 = n2 + 1 To 90
If freqTerno(n1, n2, n3) >= MinFre Then
max1 = -1 : max2 = -1
num1 = 0 : num2 = 0
For x = 1 To 90
If x <> n1 And x <> n2 And x <> n3 Then
If freqNum(x) > max1 Then
max2 = max1
num2 = num1
max1 = freqNum(x)
num1 = x
ElseIf freqNum(x) > max2 Then
max2 = freqNum(x)
num2 = x
End If
End If
Next
Cinq(1) = n1 : Cinq(2) = n2 : Cinq(3) = n3 : Cinq(4) = num1 : Cinq(5) = num2
Call OrdinaMatrice(Cinq, 1)
Call Scrivi(Format2(Cinq(1)) & " " & Format2(Cinq(2)) & " " & Format2(Cinq(3)) & " " & Format2(Cinq(4)) & " " & Format2(Cinq(5)) & " " & Format2(freqTerno(n1, n2, n3)))
trovate = trovate + 1
If trovate >= 5 Then Exit For
End If
Next
If trovate >= 5 Then Exit For
Next
If trovate >= 5 Then Exit For
Next
Call Scrivi("ecc")
Call Scrivi("")
Next
Next
End Sub
Questo è l'putput:
Le 2 ruote analizzate sono : Bari Cagliari
Cinquina+FRE su 2R
01 33 44 52 65 02
02 25 28 52 65 02
03 13 52 65 70 03
09 35 52 59 65 02
11 15 34 52 65 02
ecc
Le 2 ruote analizzate sono : Bari Firenze
Cinquina+FRE su 2R
01 09 22 29 31 02
01 09 31 46 83 02
01 09 31 49 66 02
04 09 20 31 55 02
06 09 31 39 73 02
ecc
Le 2 ruote analizzate sono : Bari Genova
Cinquina+FRE su 2R
02 03 17 55 75 02
02 03 40 41 55 02
03 04 54 55 76 02
03 05 34 55 63 02
03 08 51 53 55 02
ecc
Le 2 ruote analizzate sono : Bari Milano
Cinquina+FRE su 2R
01 03 26 66 69 02
01 26 48 66 77 02
01 26 31 49 66 02
ecc
Non so se è corretto
--------------------------------------------------------------------------------------------------------------------
Quest'altro ha un ouput diverso:
' Analisi Cinquine Frequenti (Sorte Terno) su tutte le 55 coppie di ruote
' Scansione globale e automatica
' Ricerca globale sui 90 numeri ottimizzata tramite scansione inversa
Sub Main
Dim IniAnno, FinAnno, nMese, MinFre
' Parametri di input
IniAnno = CInt(InputBox("Inserisci l'anno di inizio ricerca (es. 2018):", "Anno Inizio", 2018))
FinAnno = CInt(InputBox("Inserisci l'anno di fine ricerca (es. 2025):", "Anno Fine", 2025))
nMese = CInt(InputBox("Inserisci il mese da analizzare (1-12):", "Mese", 6))
MinFre = CInt(InputBox("Quante presenze minime per mostrare la cinquina?", "Presenze Minime", 2))
Call Scrivi("Mese ; " & MeseNome(nMese))
Call Scrivi("Anni da Analizzare : " & IniAnno & "-" & FinAnno)
Call Scrivi("--------------------------------------------------")
' 1. Pre-filtro: Estrazioni valide
Dim aDraws()
Dim cDraws, id
ReDim aDraws(EstrazioniArchivio)
cDraws = 0
For id = 1 To EstrazioniArchivio
If Anno(id) >= IniAnno And Anno(id) <= FinAnno Then
If Mese(id) = nMese Then
cDraws = cDraws + 1
aDraws(cDraws) = id
End If
End If
Next
ReDim Preserve aDraws(cDraws)
' 2. Mappatura esatta delle 11 ruote (da 1 a 10 + 12 Nazionale, escludendo l'11 Tutte)
Dim aRuote(11)
Dim i, j, k
For i = 1 To 10
aRuote(i) = i
Next
aRuote(11) = 12
Dim r1, r2, idx1, idx2, drawIdx
Dim n1, n2, n3, x, max1, max2, num1, num2
Dim numR(5)
Dim Cinq(5)
Dim freqNum(90)
Dim freqTerno(90, 90, 90)
Dim trovate
' 3. Scansione automatica e garantita delle 55 coppie
For idx1 = 1 To 10
For idx2 = idx1 + 1 To 11
r1 = aRuote(idx1)
r2 = aRuote(idx2)
Call Scrivi("Le 2 ruote analizzate sono : " & NomeRuota(r1) & " " & NomeRuota(r2))
Call Scrivi("Cinquina+FRE su 2R")
For i = 1 To 90
freqNum(i) = 0
For j = 1 To 90
For k = 1 To 90
freqTerno(i, j, k) = 0
Next
Next
Next
For drawIdx = 1 To cDraws
id = aDraws(drawIdx)
' Ruota 1
For k = 1 To 5
numR(k) = Estratto(id, r1, k)
If numR(k) > 0 Then freqNum(numR(k)) = freqNum(numR(k)) + 1
Next
If numR(1) > 0 Then
Call OrdinaMatrice(numR, 1)
For i = 1 To 3
For j = i + 1 To 4
For k = j + 1 To 5
freqTerno(numR(i), numR(j), numR(k)) = freqTerno(numR(i), numR(j), numR(k)) + 1
Next
Next
Next
End If
' Ruota 2
For k = 1 To 5
numR(k) = Estratto(id, r2, k)
If numR(k) > 0 Then freqNum(numR(k)) = freqNum(numR(k)) + 1
Next
If numR(1) > 0 Then
Call OrdinaMatrice(numR, 1)
For i = 1 To 3
For j = i + 1 To 4
For k = j + 1 To 5
freqTerno(numR(i), numR(j), numR(k)) = freqTerno(numR(i), numR(j), numR(k)) + 1
Next
Next
Next
End If
Next
trovate = 0
For n1 = 1 To 88
For n2 = n1 + 1 To 89
For n3 = n2 + 1 To 90
If freqTerno(n1, n2, n3) >= MinFre Then
max1 = -1 : max2 = -1
num1 = 0 : num2 = 0
For x = 1 To 90
If x <> n1 And x <> n2 And x <> n3 Then
If freqNum(x) > max1 Then
max2 = max1
num2 = num1
max1 = freqNum(x)
num1 = x
ElseIf freqNum(x) > max2 Then
max2 = freqNum(x)
num2 = x
End If
End If
Next
Cinq(1) = n1 : Cinq(2) = n2 : Cinq(3) = n3 : Cinq(4) = num1 : Cinq(5) = num2
Call OrdinaMatrice(Cinq, 1)
Call Scrivi(Format2(Cinq(1)) & " " & Format2(Cinq(2)) & " " & Format2(Cinq(3)) & " " & Format2(Cinq(4)) & " " & Format2(Cinq(5)) & " " & Format2(freqTerno(n1, n2, n3)) & " (Terno: " & Format2(n1) & " " & Format2(n2) & " " & Format2(n3) & " | Spia: " & Format2(num1) & " " & Format2(num2) & ")")
trovate = trovate + 1
If trovate >= 5 Then Exit For
End If
Next
If trovate >= 5 Then Exit For
Next
If trovate >= 5 Then Exit For
Next
Call Scrivi("ecc")
Call Scrivi("")
Next
Next
End Sub
ecc
Ringrazio Paperino, Pluto e Qui, Quo,Qua per il fattivo aiuto
Se lo script è corretto è merito mio, se è sbagliato rivolgetevi a Paperopoli