Novità

Una domanda su Spaziometria

ananda

Advanced Member >PLATINUM PLUS<
Salve.
Su Spaziometria come posso trovare i 5 numeri più ritardatari su 2 ruote unite?
Altra domanda. Per fare la statistica dei ritardi di un numero come devo fare?
Mettiamo che voglia sapere il ritardo del 90 sulle singole ruote...

Grazie a tutti
 

ananda

Advanced Member >PLATINUM PLUS<
Grazie Lottoluke.
La seconda parte (statistica su 1 numero) va bene.
Per quanto riguarda la ricerca di 5 numeri ritardatari su 2 ruote, vorrei che il programma trovasse su quale coppia di ruote c'è la cinquina più ritardata. Cioè non voglio fare a mano la ricerca per ogni singola coppia. Non so se c'è una funzione o uno script...
Grazie mille
 

ananda

Advanced Member >PLATINUM PLUS<
Il problema è che vorrei sapere quali sono i 5 numeri con più ritardo su 2 ruote unite, non sulle singole.
Anche se imposto 2 ruote e faccio la statistica, mi dà le ruote separate, ognuna con la sua lunghetta. Vorrei sapere invece quali sono i 5 numeri più in ritardo nella coppia di ruote. In L8 c'è questa funzione, ma con problemi di archivio i risultati non sono attendibili.
Grazie e buona domenica a te.
 

lotto_tom75

Advanced Premium Member
.... o uno script...
Grazie mille

Ciao ananda :)

questo mio scriptone... forse fa anche al caso tuo... Lo trovi anche in "tom's bakery" ma te lo riporto anche qui... con l'ultima aggiunta del rilevamento dei casi diff0. Se impari a conoscerlo.. ti fa anche il caffè... :D L'ho chamato "analisi multiruota matrice fast". Ricordo che il motore di sviluppo implementatovi senza limite di classe è opera del grande Edoardo_75 che spero torni prima o poi anche lui su questi lidi virtuali. Questo script è particolarmente indicato per sgrossare abbastanza velocemente la massa numerica in classi medio grandi non superando comunque i 3 step riduzionali rispetto la classe base sia che si parti dal basso che si parti dall'alto rispetto la stessa e ovviamente per analizzare + ruote unite a girare.

Codice:
Option Explicit
' Script n. 49 (42 D tom's bakery)  x lotto by tom ; sviluppo e analisi in modo integrale SENZA LIMITE DI CLASSE con rilevamento del numero esatto di righe sviluppate in rapporto al numero
' desiderato di ruote unite a girare..., alla classe di sviluppo scelta e alla classe del gruppo base da sviluppare. A differenza dello script n. 40, quasi del tutto analogo, questo invece di avvalersi
'dell'ordinamento tramite tabella (molto più lento e limitato) si basa sull'uso di matrici dinamiche molto più performanti battendo molto in velocità  elaborazionale e di ordinamento il suo
'predecessore; sempre a differenza dell'altro consente l'analisi tramite inserimento dei numeri voluti sia da tabella che da file txt, inoltre rileva per ogni elaborazione anche il valori massimi di ra , rs , fq e incmax  :)
'rilevamento anche del numero di casi multipli eventuali per tutti i parametri statistici analizzati sia per analisi da tabella che da file txt
'classe  motore x sviluppo senza limite di classe
Class clsSviluppo
   Private aBNumDaSvil
   Private nQNumeri
   Private nCombInt
   Private nClasse
   Private aRighe
   Private nQNumPerRiga
   Private aPuntatore
   Private nSviluppate
   Function InitSviluppo(aNumeri,Classe)
      nQNumeri = AlimentArrayNumDaSvil(aNumeri)
      nCombInt = Combinazioni(nQNumeri,Classe)
      nClasse = Classe
      nSviluppate = 0
      If nCombInt > 0 Then
         Call AlimentaArrayRighe
         Call InitArrayPuntatore
      End If
      InitSviluppo = nCombInt
   End Function
   Function GetQuantitaNumeriDaSvil
      GetQuantitaNumeriDaSvil = nQNumeri
   End Function
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) Then
            s = s & Format2(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
   Private Sub InitArrayPuntatore
      Dim k
      ReDim aPuntatore(nClasse)
      For k = 1 To nClasse - 1
         aPuntatore(k) = 1
      Next
      aPuntatore(k) = 0
   End Sub
   Function GetComb(aComb)
      Dim nTmp,K,nPuntatore
      nPuntatore = nClasse
      nTmp = aPuntatore(nPuntatore) + 1
      Do While nTmp > nQNumPerRiga
         nPuntatore = nPuntatore - 1
         If nPuntatore <= 0 Then Exit Do
         nTmp = aPuntatore(nPuntatore) + 1
      Loop
      If nPuntatore > 0 Then
         For K = nPuntatore To nClasse
            aPuntatore(K) = nTmp
         Next
         ReDim aComb(nClasse)
         For K = 1 To nClasse
            aComb(K) = aRighe(K,aPuntatore(K))
         Next
         nSviluppate = nSviluppate + 1
         GetComb = True
      Else
         GetComb = False
      End If
   End Function
   Function GetQuantitaSviluppate
      GetQuantitaSviluppate = nSviluppate
   End Function
   Private Function AlimentArrayNumDaSvil(aNumeri)
      Dim k,q
      aBNumDaSvil = ArrayNumeriToBool(aNumeri)
      For k = 1 To 90
         If aBNumDaSvil(k) Then
            q = q + 1
         End If
      Next
      AlimentArrayNumDaSvil = q
   End Function
   Private Sub AlimentaArrayRighe
      Dim nRiga,k,aNumeri
      Call ArrayBNumToArrayNum(aBNumDaSvil,aNumeri)
      nQNumPerRiga =(nQNumeri - nClasse) + 1
      ReDim aRighe(nClasse,nQNumPerRiga)
      For nRiga = 1 To nClasse
         For k = nRiga To(nRiga + nQNumPerRiga) - 1
            aRighe(nRiga,(k - nRiga) + 1) = aNumeri(k)
         Next
      Next
   End Sub
   Sub OutputARighe
      Dim k,j,s
      For k = 1 To nClasse
         s = ""
         For j = 1 To nQNumPerRiga
            s = s & Format2(aRighe(k,j)) & "."
         Next
      Next
   End Sub
End Class
'fine classe motore senzalimitediclasse
Sub Main
   Dim dimensionematricevoluta
   Dim ruoteuniteminimo
   Dim ruoteunitemassimo
   Dim numeroruoteunite
   Dim filerisultato
   Dim coltotruoteunite
   ReDim aruote(0)
   Dim acolruoteunite
   Dim StringaRuoteUnite
   Dim contarighe
   Dim arighefile
   Dim righesviluppate
   Dim anumeri
   Dim classe
   Dim vettorerighefilemixruote
   Dim rigasviluppata
   Dim contarighesviluppate
   Dim sorte
   Dim rit,ritmax,Incmax,freq,Inizio,fine
   Dim diff
   Dim ritardomassimorilevato
   Dim ritardomassimostoricorilevato
   Dim stringarisultatoxritardomassimorilevato
   Dim stringarisultatoxritardostoricomassimorilevato
   Dim ritardominimorilevato
   Dim ritardominimostoricorilevato
   Dim stringarisultatoxritardominimorilevato
   Dim stringarisultatoxritardominimostoricorilevato
   Dim freqmassimarilevata
   Dim freqminimarilevata
   Dim stringarisultatoxfreqmassimarilevata
   Dim stringarisultatoxfreqminimarilevata
   Dim Incmaxmassimorilevato
   Dim Incmaxminimorilevato
   Dim stringarisultatoxincmaxmassimorilevato
   Dim stringarisultatoxincmaxminimorilevato
   Dim diffmassimarilevata
   Dim diffminimarilevata
   Dim stringarisultatoxdiffmassimarilevata
   Dim stringarisultatoxdiffminimarilevata
   Dim stringarsmaxdiognigrupporuoteunite
   Dim ritardomassimoxgrupporuoteunite
   ritardomassimoxgrupporuoteunite = 0
   Dim contacasimultiplixrit
   contacasimultiplixrit = 0
   Dim contacasimultiplixritmin
   contacasimultiplixritmin = 0 'EstrazioneFin
   Dim contacasimultiplixfqmax
   contacasimultiplixfqmax = 0
   Dim contacasimultiplixfqmin
   contacasimultiplixfqmin = 0 ' EstrazioneFin
   Dim contacasimultiplixincmaxmax
   contacasimultiplixincmaxmax = 0
   '---------------------------------------------------
   Dim contacasimultiplixrsmaxgenerale
   contacasimultiplixrsmaxgenerale = 0
   Dim contacasimultiplixrsmingenerale
   contacasimultiplixrsmingenerale = 0
   Dim contacasimultiplixincmaxmin
   contacasimultiplixincmaxmin = 0
   Dim contacasimultiplixdiffmax
   contacasimultiplixdiffmax = 0
   Dim contacasimultiplixdiffmin
   contacasimultiplixdiffmin = 0
   '---------------------------------------------------
   stringarsmaxdiognigrupporuoteunite = ""
   ritardomassimorilevato = 0
   ritardomassimostoricorilevato = 0
   ritardominimorilevato = EstrazioneFin
   ritardominimostoricorilevato = EstrazioneFin
   freqmassimarilevata = 0
   freqminimarilevata = EstrazioneFin
   Incmaxmassimorilevato = 0
   Incmaxminimorilevato = EstrazioneFin
   diffmassimarilevata = 0
   diffminimarilevata = EstrazioneFin
   Inizio = EstrazioneIni
   fine = EstrazioneFin
   Dim contatorexmatrice
   'Dim matriceordinabilemultidimensionale(500000,6) '(1300000,6) '(2600000,6) ' (500000,6) '10000  ' in c5 by gruppo 72 le formazioni integrali sono oltre 13 mln... ; in c4 solo.. 1.028.000 ca
   'Dim matriceordinabilemultidimensionale(dimensionematricevoluta,6) ' 2000000 (500000,6) '(3200000,6) 'rispetto i 3162510 necessari ad analizzare le rispettive c5 x A by cf54 sarebbero più che sufficienti...
   Dim righeoccupatenellamatrice
   Dim filexdiff0rilevate
   filexdiff0rilevate = "filexdiff0rilevate.txt"
   If FileEsistente(filexdiff0rilevate) Then
      Call EliminaFile(filexdiff0rilevate)
   End If
   Dim filexdiff0rilevatesolonumeri
   filexdiff0rilevatesolonumeri = "filexdiff0rilevatesolonumeri.txt"
   If FileEsistente(filexdiff0rilevatesolonumeri) Then
      Call EliminaFile(filexdiff0rilevatesolonumeri)
   End If
   Dim contadiff0
   contadiff0 = 0
   dimensionematricevoluta = CInt(InputBox("dimensione matrice ipotizzata max 10000",,10000))
   Dim moltiplicadimensionematricex
   moltiplicadimensionematricex = CInt(InputBox("moltiplica dimensione matrice x ",,700))
   dimensionematricevoluta = dimensionematricevoluta * moltiplicadimensionematricex
   ReDim matriceordinabilemultidimensionale(dimensionematricevoluta,6)
   ruoteuniteminimo = CInt(InputBox("ruote unite minimo",,1))
   ruoteunitemassimo = CInt(InputBox("ruote unite massimo",,ruoteuniteminimo))
   MsgBox "scegli sorte"
   sorte = CInt(InputBox("sorte",,1))
   MsgBox "scegli ruote da analizzare"
   Call ScegliRuote(aruote)
   Dim dafileodatabella
   Dim csvil
   Set csvil = New clsSviluppo
   dafileodatabella = InputBox("da file (f) o da tabella (t)",,"t")
   If dafileodatabella = "t" Then
      MsgBox "hai scelto da tabella"
      MsgBox "scegli gruppo base da sviluppare e analizzare"
      Call ScegliNumeri(anumeri)
      MsgBox "scegli classe da sviluppare"
      classe = CInt(InputBox("classe",,18)) 'sorte))
      filerisultato = ".\gruppipossibilidiruoteunite.txt"
      If FileEsistente(filerisultato) Then
         Call EliminaFile(filerisultato)
      End If
      For numeroruoteunite = ruoteuniteminimo To ruoteunitemassimo
         coltotruoteunite = InitSviluppoIntegrale(aruote,numeroruoteunite)
         If coltotruoteunite > 0 Then
            Do While GetCombSviluppo(acolruoteunite) = True
               StringaRuoteUnite = StringaNumeri(acolruoteunite)
               contarighe = contarighe + 1
               ScriviFile filerisultato,StringaRuoteUnite
               If ScriptInterrotto Then Exit Do
            Loop
         End If
         CloseFileHandle(filerisultato)
         Call LeggiRigheFileDiTesto(filerisultato,arighefile)
         ReDim arigaruote(numeroruoteunite)
         Dim crr
         For crr = 0 To UBound(arighefile)
            'righesviluppate = InitSviluppoIntegrale(anumeri,classe)
            righesviluppate = csvil.InitSviluppo(anumeri,classe)
            Dim vettoreruoteunite
            Call SplitByChar("." & arighefile(crr) & ".",".",vettoreruoteunite)
            Dim cvru
            ReDim arigaruote(UBound(vettoreruoteunite))
            For cvru = 0 To UBound(vettoreruoteunite)
               If righesviluppate > 0 Then
                  ' Do While GetCombSviluppo(rigasviluppata) = True
                  Do While cSvil.GetComb(rigasviluppata)
                     contarighesviluppate = contarighesviluppate + 1
                     Call StatisticaFormazioneTurbo(rigasviluppata,vettoreruoteunite,sorte,rit,ritmax,Incmax,freq,Inizio,fine)
                     'Messaggio "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " crm " & contatorexmatrice
                     'Messaggio "n" & StringaNumeri(rigasviluppata) & "r" & StringaNumeri(vettoreruoteunite) & "s" & NomeSorte(sorte) & "rit" & rit & "rs" & ritmax & "incmax" & Incmax & "frq" & freq & "diff" & diff & "crm" & contatorexmatrice
                     Messaggio "r" & StringaNumeri(vettoreruoteunite) & "s" & NomeSorte(sorte) & "rit" & rit & "rs" & ritmax & "incmax" & Incmax & "frq" & freq & "diff" & diff & "crm" & contatorexmatrice
                     diff = ritmax - rit
                     matriceordinabilemultidimensionale(contatorexmatrice,0) = StringaNumeri(rigasviluppata)
                     matriceordinabilemultidimensionale(contatorexmatrice,1) = StringaNumeri(vettoreruoteunite)
                     matriceordinabilemultidimensionale(contatorexmatrice,2) = NomeSorte(sorte)
                     matriceordinabilemultidimensionale(contatorexmatrice,3) = Int(rit)
                     matriceordinabilemultidimensionale(contatorexmatrice,4) = Int(ritmax)
                     matriceordinabilemultidimensionale(contatorexmatrice,5) = Int(Incmax)
                     matriceordinabilemultidimensionale(contatorexmatrice,6) = Int(freq)
                     contatorexmatrice = contatorexmatrice + 1
                     righeoccupatenellamatrice = righeoccupatenellamatrice + 1
                     If rit = ritardomassimorilevato Then
                        contacasimultiplixrit = contacasimultiplixrit + 1
                     End If
                     If rit > ritardomassimorilevato Then
                        ritardomassimorilevato = rit
                        stringarisultatoxritardomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrit = 0
                     End If
                     If ritmax = ritardomassimostoricorilevato Then
                        contacasimultiplixrsmaxgenerale = contacasimultiplixrsmaxgenerale + 1
                     End If
                     If ritmax > ritardomassimostoricorilevato Then
                        ritardomassimostoricorilevato = ritmax
                        stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrsmaxgenerale = 0
                     End If
                     If ritmax > ritardomassimoxgrupporuoteunite Then
                        ritardomassimoxgrupporuoteunite = ritmax
                        'stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                     End If
                     If rit < ritardominimorilevato Then
                        ritardominimorilevato = rit
                        stringarisultatoxritardominimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixritmin = 0
                     End If
                     If rit = ritardominimorilevato Then
                        contacasimultiplixritmin = contacasimultiplixritmin + 1
                     End If
                     If ritmax = ritardominimostoricorilevato Then
                        contacasimultiplixrsmingenerale = contacasimultiplixrsmingenerale + 1
                     End If
                     If ritmax < ritardominimostoricorilevato Then
                        ritardominimostoricorilevato = ritmax
                        stringarisultatoxritardominimostoricorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrsmingenerale = 0
                     End If
                     If freq > freqmassimarilevata Then
                        freqmassimarilevata = freq
                        stringarisultatoxfreqmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixfqmax = 0
                     End If
                     If freq = freqmassimarilevata Then
                        contacasimultiplixfqmax = contacasimultiplixfqmax + 1
                     End If
                     If freq < freqminimarilevata Then
                        freqminimarilevata = freq
                        stringarisultatoxfreqminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixfqmin = 0
                     End If
                     If freq = freqminimarilevata Then
                        contacasimultiplixfqmin = contacasimultiplixfqmin + 1
                     End If
                     If Incmax > Incmaxmassimorilevato Then
                        Incmaxmassimorilevato = Incmax
                        stringarisultatoxincmaxmassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixincmaxmax = 0
                     End If
                     If Incmax = Incmaxmassimorilevato Then
                        contacasimultiplixincmaxmax = contacasimultiplixincmaxmax + 1
                     End If
                     If Incmax = Incmaxminimorilevato Then
                        contacasimultiplixincmaxmin = contacasimultiplixincmaxmin + 1
                     End If
                     If Incmax < Incmaxminimorilevato Then
                        Incmaxminimorilevato = Incmax
                        stringarisultatoxincmaxminimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixincmaxmin = 0
                     End If
                     If diff = diffmassimarilevata Then
                        contacasimultiplixdiffmax = contacasimultiplixdiffmax + 1
                     End If
                     If diff > diffmassimarilevata Then
                        diffmassimarilevata = diff
                        stringarisultatoxdiffmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixdiffmax = 0
                     End If
                     If diff = diffminimarilevata Then
                        contacasimultiplixdiffmin = contacasimultiplixdiffmin + 1
                     End If
                     If diff < diffminimarilevata Then
                        diffminimarilevata = diff
                        stringarisultatoxdiffminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixdiffmin = 0
                     End If
                     'se diff=0 scrivi risultati nel file txt apposito
                     '  End If
                     If diff = 0 Then
                        Dim stringarisultatoxdiff0rilevata
                        stringarisultatoxdiff0rilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        ScriviFile filexdiff0rilevate,stringarisultatoxdiff0rilevata
                        CloseFileHandle(filexdiff0rilevate)
                        ScriviFile filexdiff0rilevatesolonumeri,StringaNumeri(rigasviluppata)
                        CloseFileHandle(filexdiff0rilevatesolonumeri)
                        contadiff0 = contadiff0 + 1
                     End If
                     '----------------------------------------------------------
                     If ScriptInterrotto Then Exit Do
                  Loop
               End If
               If ritardomassimoxgrupporuoteunite <> 0 And ritardomassimoxgrupporuoteunite <> "0" Then
                  stringarsmaxdiognigrupporuoteunite = stringarsmaxdiognigrupporuoteunite & " | " & StringaNumeri(vettoreruoteunite) & " rsgru " & ritardomassimoxgrupporuoteunite & " . "
               End If
               ritardomassimoxgrupporuoteunite = 0
               If ScriptInterrotto Then Exit For
            Next ' cvru
            If ScriptInterrotto Then Exit For
            Messaggio "thread elaborazionale n. " & contatorexmatrice
         Next
         If ScriptInterrotto Then Exit For
         Call AvanzamentoElab(1,ruoteunitemassimo,crr)
      Next 'x numero ruote unite
      Dim Valorediordinamentovoluto
      Dim Valorecriteriodiordinamento
      Dim quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Valorediordinamentovoluto = CInt(InputBox("valore di ordinamento voluto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) ",,3))
      Valorecriteriodiordinamento = CInt(InputBox("valore criterio di ordinamento voluto: crescente (1) decrescente (-1) ",,- 1))
      'quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = CInt(InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100))
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100)
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = Int(quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice)
      Scrivi
      '      Scrivi "visualizzazione del contenuto della matrice non ordinata..."
      '      Scrivi
      '      For contatorexmatrice = 0 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupateinmatrice 'UBound(matriceordinabilemultidimensionale)
      '         Messaggio "sto elaborando il record di matrice n. " & contatorexmatrice
      '         Scrivi " n " & matriceordinabilemultidimensionale(contatorexmatrice,0) & " r " & matriceordinabilemultidimensionale(contatorexmatrice,1) & " s " & matriceordinabilemultidimensionale(contatorexmatrice,2) & " rit " & matriceordinabilemultidimensionale(contatorexmatrice,3) & " ritmax " & matriceordinabilemultidimensionale(contatorexmatrice,4) & " incmax " & matriceordinabilemultidimensionale(contatorexmatrice,5) & " freq " & matriceordinabilemultidimensionale(contatorexmatrice,6) & " diff " & diff & " contatore riga matrice " & contatorexmatrice
      '      Next
      'Scrivi
      Scrivi "visualizzazione del contenuto dell matrice ordinata..."
      Scrivi
      Scrivi "num-ruota-sorte-rit-ritmax-incmax-freq"
      Scrivi
      Dim sortFREQ
      Dim MassimoFreq
      Dim MinimoFreq
      Dim sortRITMAX
      Dim MassimoRITMAX
      Dim MinimoRITMAX
      Dim sortINCMAX
      Dim MassimoINCMAX
      Dim MinimoINCMAX
      Dim sortRIT
      Dim MassimoRIT
      Dim MinimoRIT
      MassimoFreq = freqmassimarilevata 'EstrazioneFin
      MinimoFreq = freqminimarilevata '0
      MassimoRITMAX = ritardomassimostoricorilevato 'EstrazioneFin
      MinimoRITMAX = ritardominimostoricorilevato '0
      MassimoINCMAX = Incmaxmassimorilevato 'EstrazioneFin
      MinimoINCMAX = Incmaxminimorilevato '0
      MassimoRIT = ritardomassimorilevato 'EstrazioneFin
      MinimoRIT = ritardominimorilevato '0
      Dim cmom
      Dim k
      Call OrdinaMatrice(matriceordinabilemultidimensionale,Valorecriteriodiordinamento,Valorediordinamentovoluto)
      For k = 0 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupatenellamatrice
         Scrivi matriceordinabilemultidimensionale(k,0) & " - " & matriceordinabilemultidimensionale(k,1) & " - " & matriceordinabilemultidimensionale(k,2) & " - " & matriceordinabilemultidimensionale(k,3) & " - " & matriceordinabilemultidimensionale(k,4) & " - " & matriceordinabilemultidimensionale(k,5) & " - " & matriceordinabilemultidimensionale(k,6)
      Next
      Scrivi
      Scrivi
      Scrivi "Elaborazione terminata con successo!"
      Scrivi
      Scrivi "range temporale analizzato " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
      Scrivi "n. di estrazioni totali analizzate " &(EstrazioneFin - EstrazioneIni) + 1
      Scrivi "Input numeri scelti da tabella"
      Scrivi "gruppo base numerico analizzato " & StringaNumeri(anumeri)
      Scrivi "classe gruppo numerico sviluppato " & UBound(anumeri)
      Scrivi "numero complessivo di ruote a girare " & UBound(aruote)
      Scrivi "ruote analizzate " & StringaRuote(aruote)
      Scrivi "ruote unite minimo " & ruoteuniteminimo
      Scrivi "ruote unite massimo " & ruoteunitemassimo
      Scrivi "classe di sviluppo " & classe
      Scrivi "sorte di ricerca " & sorte
      Scrivi "parametro di ordinamento scelto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) " & Valorediordinamentovoluto
      Scrivi "criterio di ordinamento impostato crescente (1) decrescente (-1)  " & Valorecriteriodiordinamento
      Scrivi "righe (x mix di ruote) sviluppate " & contarighe
      Scrivi "righe totali di sviluppo generate " & contarighesviluppate
      Scrivi
      Scrivi "cgb " & UBound(anumeri) & " ; " & " cs " & classe & "  ; " & " pr " & UBound(aruote) & " ;  qruag  :  da " & ruoteuniteminimo & " a " & ruoteunitemassimo & " ;  righe " & contarighesviluppate & " ;  tt : " & TempoTrascorso & " sg " & righesviluppate
      Scrivi
      Scrivi "righe occupate nella matrice di dimensione ( " & UBound(matriceordinabilemultidimensionale) & " ) : " & righeoccupatenellamatrice
      Scrivi "numero dei primi risultati visualizzati in output in base all'ordinamento scelto " & quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Scrivi
      Scrivi "report sui valori estremi rilevati"
      Scrivi
      Scrivi "rit max generale " & ritardomassimorilevato
      Scrivi "formazione : " & stringarisultatoxritardomassimorilevato
      Scrivi "n. casi multipli di rit max generale " & contacasimultiplixrit
      Scrivi "rs max generale " & ritardomassimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardostoricomassimorilevato
      Scrivi "n. casi multipli di rit sto max generale " & Int(contacasimultiplixrsmaxgenerale) - 1
      Scrivi "ra min generale " & ritardominimorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimorilevato
      Scrivi "n. casi multipli di rit min generale " & Int(contacasimultiplixritmin) - 1
      Scrivi "rs min generale " & ritardominimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimostoricorilevato
      Scrivi "n. casi multipli di rit sto min generale " & Int(contacasimultiplixrsmingenerale) - 1
      Scrivi "fq max generale " & freqmassimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqmassimarilevata
      Scrivi "n. casi multipli di fq max generale " & Int(contacasimultiplixfqmax) - 1
      Scrivi "fq min generale " & freqminimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqminimarilevata
      Scrivi "n. casi multipli di fq min generale " & Int(contacasimultiplixfqmin) - 1
      Scrivi "incmax max generale " & Incmaxmassimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxmassimorilevato
      Scrivi "n. casi multipli di incmax max generale " & Int(contacasimultiplixincmaxmax) - 1
      Scrivi "incmax min generale " & Incmaxminimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxminimorilevato
      Scrivi "n. casi multipli di incmax min generale " & Int(contacasimultiplixincmaxmin) - 1
      Scrivi "diff max generale " & diffmassimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffmassimarilevata
      Scrivi "n. casi multipli di diff  max generale " & Int(contacasimultiplixdiffmax) - 1
      Scrivi "diff min generale " & diffminimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffminimarilevata
      Scrivi "n. casi multipli di diff min generale " & Int(contacasimultiplixdiffmin) - 1
      Scrivi "n di casi diff 0 rilevati " & contadiff0
      Scrivi
      Scrivi "rs max relativi ad ogni gruppo di ruote unite generato " & stringarsmaxdiognigrupporuoteunite
      Scrivi
      Scrivi "Tt : " & TempoTrascorso
   Else
      '  ANALISI DA FILE TXT...
      Dim rigasviluppataxritmaxsolonumeri
      Dim StringaRuotexritmaxsolonumeri
      Dim rigasviluppataxfqmaxsolonumeri
      Dim StringaRuotexfqmaxsolonumeri
      MsgBox "hai scelto analisi da file"
      MsgBox "scegli file da analizzare"
      Dim filedaelaborare
      filedaelaborare = ScegliFile(".\",".txt","filetxtdasviluppareeanalizzare.txt")
      MsgBox "hai scelto di analizzare il seguente file: " & filedaelaborare
      MsgBox "scegli classe da sviluppare"
      classe = CInt(InputBox("classe",,18)) '2))
      filerisultato = ".\gruppipossibilidiruoteunite.txt"
      If FileEsistente(filerisultato) Then
         Call EliminaFile(filerisultato)
      End If
      For numeroruoteunite = ruoteuniteminimo To ruoteunitemassimo
         coltotruoteunite = InitSviluppoIntegrale(aruote,numeroruoteunite)
         If coltotruoteunite > 0 Then
            Do While GetCombSviluppo(acolruoteunite) = True
               StringaRuoteUnite = StringaNumeri(acolruoteunite)
               contarighe = contarighe + 1
               ScriviFile filerisultato,StringaRuoteUnite
               If ScriptInterrotto Then Exit Do
            Loop
         End If
         CloseFileHandle(filerisultato)
         Dim arighefiledaelaborare
         Dim crfde
         Dim vettorestringhenumerifile
         Dim vettoreinterinumerifile
         Call LeggiRigheFileDiTesto(filedaelaborare,arighefiledaelaborare)
         For crfde = 0 To UBound(arighefiledaelaborare)
            'Scrivi "|" & arighefiledaelaborare(crfde) & "|"
            Call SplitByChar(arighefiledaelaborare(crfde),".",vettorestringhenumerifile)
            Dim cevns
            ReDim vettoreinterinumerifile(UBound(vettorestringhenumerifile))
            For cevns = 0 To UBound(vettorestringhenumerifile)
               vettoreinterinumerifile(cevns) = Int(vettorestringhenumerifile(cevns))
               Dim cvi
            Next ' x vettore stringhe numeri   file
            ' Scrivi
            Call LeggiRigheFileDiTesto(filerisultato,arighefile)
            ReDim arigaruote(numeroruoteunite)
            For crr = 0 To UBound(arighefile)
               'righesviluppate = InitSviluppoIntegrale(vettoreinterinumerifile,classe)
               righesviluppate = csvil.InitSviluppo(vettoreinterinumerifile,classe)
               Call SplitByChar("." & arighefile(crr) & ".",".",vettoreruoteunite)
               ReDim arigaruote(UBound(vettoreruoteunite))
               For cvru = 0 To UBound(vettoreruoteunite)
                  If righesviluppate > 0 Then
                     ' Do While GetCombSviluppo(rigasviluppata) = True
                     Do While cSvil.GetComb(rigasviluppata)
                        contarighesviluppate = contarighesviluppate + 1
                        Call StatisticaFormazioneTurbo(rigasviluppata,vettoreruoteunite,sorte,rit,ritmax,Incmax,freq,Inizio,fine)
                        'Messaggio "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " crm " & contatorexmatrice
                        diff = ritmax - rit
                        matriceordinabilemultidimensionale(contatorexmatrice,0) = StringaNumeri(rigasviluppata)
                        matriceordinabilemultidimensionale(contatorexmatrice,1) = StringaNumeri(vettoreruoteunite)
                        matriceordinabilemultidimensionale(contatorexmatrice,2) = NomeSorte(sorte)
                        matriceordinabilemultidimensionale(contatorexmatrice,3) = Int(rit)
                        matriceordinabilemultidimensionale(contatorexmatrice,4) = Int(ritmax)
                        matriceordinabilemultidimensionale(contatorexmatrice,5) = Int(Incmax)
                        matriceordinabilemultidimensionale(contatorexmatrice,6) = Int(freq)
                        contatorexmatrice = contatorexmatrice + 1
                        righeoccupatenellamatrice = righeoccupatenellamatrice + 1
                        If rit = ritardomassimorilevato Then
                           contacasimultiplixrit = contacasimultiplixrit + 1
                        End If
                        If rit > ritardomassimorilevato Then
                           ritardomassimorilevato = rit
                           stringarisultatoxritardomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           rigasviluppataxritmaxsolonumeri = StringaNumeri(rigasviluppata)
                           StringaRuotexritmaxsolonumeri = StringaNumeri(vettoreruoteunite)
                           contacasimultiplixrit = 0
                        End If
                        If ritmax = ritardomassimostoricorilevato Then
                           contacasimultiplixrsmaxgenerale = contacasimultiplixrsmaxgenerale + 1
                        End If
                        If ritmax > ritardomassimostoricorilevato Then
                           ritardomassimostoricorilevato = ritmax
                           stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixrsmaxgenerale = 0
                        End If
                        If ritmax > ritardomassimoxgrupporuoteunite Then
                           ritardomassimoxgrupporuoteunite = ritmax
                           'stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        End If
                        If rit = ritardominimorilevato Then
                           contacasimultiplixritmin = contacasimultiplixritmin + 1
                        End If
                        If rit < ritardominimorilevato Then
                           ritardominimorilevato = rit
                           stringarisultatoxritardominimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixritmin = 0
                        End If
                        If ritmax = ritardominimostoricorilevato Then
                           contacasimultiplixrsmingenerale = contacasimultiplixrsmingenerale + 1
                        End If
                        If ritmax < ritardominimostoricorilevato Then
                           ritardominimostoricorilevato = ritmax
                           stringarisultatoxritardominimostoricorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixrsmingenerale = 0
                        End If
                        If freq = freqmassimarilevata Then
                           contacasimultiplixfqmax = contacasimultiplixfqmax + 1
                        End If
                        If freq > freqmassimarilevata Then
                           freqmassimarilevata = freq
                           stringarisultatoxfreqmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           rigasviluppataxfqmaxsolonumeri = StringaNumeri(rigasviluppata)
                           StringaRuotexfqmaxsolonumeri = StringaNumeri(vettoreruoteunite)
                           contacasimultiplixfqmax = 0
                        End If
                        If freq = freqminimarilevata Then
                           contacasimultiplixfqmin = contacasimultiplixfqmin + 1
                        End If
                        If freq < freqminimarilevata Then
                           freqminimarilevata = freq
                           stringarisultatoxfreqminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixfqmin = 0
                        End If
                        If Incmax = Incmaxmassimorilevato Then
                           contacasimultiplixincmaxmax = contacasimultiplixincmaxmax + 1
                        End If
                        If Incmax > Incmaxmassimorilevato Then
                           Incmaxmassimorilevato = Incmax
                           stringarisultatoxincmaxmassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixincmaxmax = 0
                        End If
                        If Incmax = Incmaxminimorilevato Then
                           contacasimultiplixincmaxmin = contacasimultiplixincmaxmin + 1
                        End If
                        If Incmax < Incmaxminimorilevato Then
                           Incmaxminimorilevato = Incmax
                           stringarisultatoxincmaxminimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixincmaxmin = 0
                        End If
                        If diff = diffmassimarilevata Then
                           contacasimultiplixdiffmax = contacasimultiplixdiffmax + 1
                        End If
                        If diff > diffmassimarilevata Then
                           diffmassimarilevata = diff
                           stringarisultatoxdiffmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixdiffmax = 0
                        End If
                        If diff = diffminimarilevata Then
                           contacasimultiplixdiffmin = contacasimultiplixdiffmin + 1
                        End If
                        If diff < diffminimarilevata Then
                           diffminimarilevata = diff
                           stringarisultatoxdiffminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixdiffmin = 0
                        End If
                        'se diff=0 scrivi risultati nel file txt apposito
                        '  End If
                        If diff = 0 Then
                           'Dim stringarisultatoxdiff0rilevata
                           stringarisultatoxdiff0rilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           ScriviFile filexdiff0rilevate,stringarisultatoxdiff0rilevata
                           CloseFileHandle(filexdiff0rilevate)
                           ScriviFile filexdiff0rilevatesolonumeri,StringaNumeri(rigasviluppata)
                           CloseFileHandle(filexdiff0rilevatesolonumeri)
                           contadiff0 = contadiff0 + 1
                        End If
                        '----------------------------------------------------------
                        If ScriptInterrotto Then Exit Do
                     Loop
                  End If
                  If ritardomassimoxgrupporuoteunite <> 0 And ritardomassimoxgrupporuoteunite <> "0" Then
                     stringarsmaxdiognigrupporuoteunite = stringarsmaxdiognigrupporuoteunite & " | " & StringaNumeri(vettoreruoteunite) & " rsgru " & ritardomassimoxgrupporuoteunite & " . "
                  End If
                  ritardomassimoxgrupporuoteunite = 0
                  If ScriptInterrotto Then Exit For
               Next ' cvru
               If ScriptInterrotto Then Exit For
               Messaggio "thread elaborazionale n. " & contatorexmatrice
            Next
            If ScriptInterrotto Then Exit For
            Call AvanzamentoElab(1,ruoteunitemassimo,crr)
         Next ' x vettore righe file txt da elaborare
         If ScriptInterrotto Then Exit For
      Next 'x numero ruote unite...
      Valorediordinamentovoluto = CInt(InputBox("valore di ordinamento voluto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) ",,3))
      Valorecriteriodiordinamento = CInt(InputBox("valore criterio di ordinamento voluto: crescente (1) decrescente (-1) ",,- 1))
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = CInt(InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100))
      'Scrivi
      '      Scrivi "visualizzazione del contenuto della matrice non ordinata..."
      '      Scrivi
      '      For contatorexmatrice = 0 To  quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice  'righeoccupatenellamatrice 'UBound(matriceordinabilemultidimensionale)
      '         Messaggio "sto elaborando il record di matrice n. " & contatorexmatrice
      '         Scrivi " n " & matriceordinabilemultidimensionale(contatorexmatrice,0) & " r " & matriceordinabilemultidimensionale(contatorexmatrice,1) & " s " & matriceordinabilemultidimensionale(contatorexmatrice,2) & " rit " & matriceordinabilemultidimensionale(contatorexmatrice,3) & " ritmax " & matriceordinabilemultidimensionale(contatorexmatrice,4) & " incmax " & matriceordinabilemultidimensionale(contatorexmatrice,5) & " freq " & matriceordinabilemultidimensionale(contatorexmatrice,6) & " diff " & diff & " contatore riga matrice " & contatorexmatrice
      '      Next
      'Scrivi
      Scrivi "visualizzazione del contenuto della matrice ordinata..."
      Scrivi
      MassimoFreq = freqmassimarilevata 'EstrazioneFin
      MinimoFreq = freqminimarilevata '0
      MassimoRITMAX = ritardomassimostoricorilevato 'EstrazioneFin
      MinimoRITMAX = ritardominimostoricorilevato '0
      MassimoINCMAX = Incmaxmassimorilevato 'EstrazioneFin
      MinimoINCMAX = Incmaxminimorilevato '0
      MassimoRIT = ritardomassimorilevato 'EstrazioneFin
      MinimoRIT = ritardominimorilevato '0
      Call OrdinaMatrice(matriceordinabilemultidimensionale,Valorecriteriodiordinamento,Valorediordinamentovoluto)
      For k = 1 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupatenellamatrice
         Scrivi matriceordinabilemultidimensionale(k,0) & " - " & matriceordinabilemultidimensionale(k,1) & " - " & matriceordinabilemultidimensionale(k,2) & " - " & matriceordinabilemultidimensionale(k,3) & " - " & matriceordinabilemultidimensionale(k,4) & " - " & matriceordinabilemultidimensionale(k,5) & " - " & matriceordinabilemultidimensionale(k,6)
      Next
      Scrivi
      Scrivi
      Scrivi "Elaborazione terminata con successo!"
      Scrivi
      Scrivi "range temporale analizzato " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
      Scrivi "n. di estrazioni totali analizzate " &(EstrazioneFin - EstrazioneIni) + 1
      Scrivi "Input numeri scelti da file"
      Scrivi "file scelto per l'elaborazione " & filedaelaborare
      Scrivi "numero complessivo di ruote a girare " & UBound(aruote)
      Scrivi "ruote analizzate " & StringaRuote(aruote)
      Scrivi "ruote unite minimo " & ruoteuniteminimo
      Scrivi "ruote unite massimo " & ruoteunitemassimo
      Scrivi "classe di sviluppo " & classe
      Scrivi "sorte di ricerca " & sorte
      Scrivi "parametro di ordinamento scelto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) " & Valorediordinamentovoluto
      Scrivi "criterio di ordinamento impostato crescente (1) decrescente (-1)  " & Valorecriteriodiordinamento
      Scrivi "righe (x mix di ruote) sviluppate " & contarighe
      Scrivi "righe totali di sviluppo generate " & contarighesviluppate
      Scrivi
      'Scrivi "righe occupate nella matrice di dimensione ( " & UBound(matriceordinabilemultidimensionale) & " ) : " & righeoccupatenellamatrice
      Scrivi "numero dei primi risultati visualizzati in output in base all'ordinamento scelto " & quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Scrivi
      Scrivi "report sui valori estremi rilevati"
      Dim vettoreformazioneritmaxunico
      Dim vettoreruoteformazioneritmaxunico
      Dim vettoreformazioneritrsmaxunico
      Dim vettoreformazioneritminunico
      Dim vettoreformazioneritrsminunico
      Dim vettoreformazionefqmaxunica
      Dim vettoreruoteformazionefqmaxunica
      Dim vettoreformazionefqminunica
      Dim vettoreformazioneincmaxmaxunico
      Dim vettoreformazioneincmaxminunico
      Dim vettoreformazionediffmaxunica
      Dim vettoreformazionediffminunica
      Dim Inizioverificaxrisultanzaunica
      Inizioverificaxrisultanzaunica = EstrazioneFin
      Dim sortediverificaxrisultanzaunica
      sortediverificaxrisultanzaunica = 2
      Dim colpiverifica,esito,estratti,idesdiuscita
      colpiverifica = 1
      Dim casipositivi
      casipositivi = 0
      Scrivi
      Scrivi "rit max generale " & ritardomassimorilevato
      Scrivi "formazione : " & stringarisultatoxritardomassimorilevato
      Scrivi "n. casi multipli di rit max generale " & contacasimultiplixrit
      ' modulo di verifica... x rit max
      If contacasimultiplixrit = - 1 Or contacasimultiplixrit = 0 Then
         Call SplitByChar(rigasviluppataxritmaxsolonumeri,".",vettoreformazioneritmaxunico)
         Call SplitByChar(StringaRuotexritmaxsolonumeri,".",vettoreruoteformazioneritmaxunico)
         'verifica se ha sfaldato  colpo
         Call VerificaEsitoTurbo(vettoreformazioneritmaxunico,vettoreruoteformazioneritmaxunico,Inizioverificaxrisultanzaunica + 1,sortediverificaxrisultanzaunica,colpiverifica,,esito,,estratti,idesdiuscita)
         If esito <> "" Then
            Scrivi "OK rit  max unico ha sfaldato",True,,,vbGreen
            Scrivi "estratti a colpo " & estratti & " - " & GetInfoEstrazione(idesdiuscita),True,,,vbGreen
            casipositivi = casipositivi + 1
         Else
            Scrivi "NO rit  max unico non ha sfaldato",True,,,vbRed
         End If
      End If
      '-----------------------------------------
      Scrivi "rs max generale " & ritardomassimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardostoricomassimorilevato
      Scrivi "n. casi multipli di rit sto max generale " & Int(contacasimultiplixrsmaxgenerale)' - 1
      Scrivi "ra min generale " & ritardominimorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimorilevato
      Scrivi "n. casi multipli di rit min generale " & Int(contacasimultiplixritmin) '- 1
      Scrivi "rs min generale " & ritardominimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimostoricorilevato
      Scrivi "n. casi multipli di rit sto min generale " & Int(contacasimultiplixrsmingenerale) '- 1
      Scrivi "fq max generale " & freqmassimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqmassimarilevata
      Scrivi "n. casi multipli di fq max generale " & Int(contacasimultiplixfqmax)' - 1
      ' modulo di verifica... x fq max
      If contacasimultiplixfqmax = - 1 Or contacasimultiplixfqmax = 0 Then
         Call SplitByChar(rigasviluppataxfqmaxsolonumeri,".",vettoreformazionefqmaxunica)
         Call SplitByChar(StringaRuotexfqmaxsolonumeri,".",vettoreruoteformazionefqmaxunica)
         'verifica se ha sfaldato  colpo
         Call VerificaEsitoTurbo(vettoreformazionefqmaxunica,vettoreruoteformazionefqmaxunica,Inizioverificaxrisultanzaunica + 1,sortediverificaxrisultanzaunica,colpiverifica,,esito,,estratti,idesdiuscita)
         If esito <> "" Then
            Scrivi "OK fq max unico ha sfaldato",True,,,vbGreen
            Scrivi "estratti a colpo " & estratti & " - " & GetInfoEstrazione(idesdiuscita),True,,,vbGreen
            casipositivi = casipositivi + 1
         Else
            Scrivi "NO fq  max unico non ha sfaldato",True,,,vbRed
         End If
      End If
      '-----------------------------------------
      Scrivi "fq min generale " & freqminimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqminimarilevata
      Scrivi "n. casi multipli di fq min generale " & Int(contacasimultiplixfqmin) '- 1
      Scrivi "incmax max generale " & Incmaxmassimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxmassimorilevato
      Scrivi "n. casi multipli di incmax max generale " & Int(contacasimultiplixincmaxmax) '- 1
      Scrivi "incmax min generale " & Incmaxminimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxminimorilevato
      Scrivi "n. casi multipli di incmax min generale " & Int(contacasimultiplixincmaxmin) '- 1
      Scrivi "diff max generale " & diffmassimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffmassimarilevata
      Scrivi "n. casi multipli di diff  max generale " & Int(contacasimultiplixdiffmax)' - 1
      Scrivi "diff min generale " & diffminimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffminimarilevata
      Scrivi "n. casi multipli di diff min generale " & Int(contacasimultiplixdiffmin) '- 1
      Scrivi "n di casi diff 0 rilevati " & contadiff0
      Scrivi
      Scrivi "rs max relativi ad ogni gruppo di ruote unite generato " & stringarsmaxdiognigrupporuoteunite
      Scrivi
      Scrivi "Tt : " & TempoTrascorso
   End If
   'mostra formazioni diff 0 rilevate... leggendole dal relativo file... txt
   Scrivi
   Scrivi
   Scrivi "formazioni diff 0 rilevate con relativa ruota(e)"
   Scrivi
   Scrivi
   ReDim arighefilediff0(0)
   Dim crfdz
   Call LeggiRigheFileDiTesto(filexdiff0rilevate,arighefilediff0)
   For crfdz = 0 To UBound(arighefilediff0)
      Scrivi arighefilediff0(crfdz)
      If ScriptInterrotto Then Exit For
   Next
   '--------------------------------------------------------------------------------------------
End Sub

Buone analisi.. :)
 
Ultima modifica:

ananda

Advanced Member >PLATINUM PLUS<
Ciao ananda :)

questo mio scriptone... forse fa anche al caso tuo... Lo trovi anche in "tom's bakery" ma te lo riporto anche qui... con l'ultima aggiunta del rilevamento dei casi diff0. Se impari a conoscerlo.. ti fa anche il caffè... :D L'ho chamato "analisi multiruota matrice fast". Ricordo che il motore di sviluppo implementatovi senza limite di classe è opera del grande Edoardo_75 che spero torni prima o poi anche lui su questi lidi virtuali. Questo script è particolarmente indicato per sgrossare abbastanza velocemente la massa numerica in classi medio grandi non superando comunque i 3 step riduzionali rispetto la classe base sia che si parti dal basso che si parti dall'alto rispetto la stessa e ovviamente per analizzare + ruote unite a girare.

Codice:
Option Explicit
' Script n. 49 (42 D tom's bakery)  x lotto by tom ; sviluppo e analisi in modo integrale SENZA LIMITE DI CLASSE con rilevamento del numero esatto di righe sviluppate in rapporto al numero
' desiderato di ruote unite a girare..., alla classe di sviluppo scelta e alla classe del gruppo base da sviluppare. A differenza dello script n. 40, quasi del tutto analogo, questo invece di avvalersi
'dell'ordinamento tramite tabella (molto più lento e limitato) si basa sull'uso di matrici dinamiche molto più performanti battendo molto in velocità  elaborazionale e di ordinamento il suo
'predecessore; sempre a differenza dell'altro consente l'analisi tramite inserimento dei numeri voluti sia da tabella che da file txt, inoltre rileva per ogni elaborazione anche il valori massimi di ra , rs , fq e incmax  :)
'rilevamento anche del numero di casi multipli eventuali per tutti i parametri statistici analizzati sia per analisi da tabella che da file txt
'classe  motore x sviluppo senza limite di classe
Class clsSviluppo
   Private aBNumDaSvil
   Private nQNumeri
   Private nCombInt
   Private nClasse
   Private aRighe
   Private nQNumPerRiga
   Private aPuntatore
   Private nSviluppate
   Function InitSviluppo(aNumeri,Classe)
      nQNumeri = AlimentArrayNumDaSvil(aNumeri)
      nCombInt = Combinazioni(nQNumeri,Classe)
      nClasse = Classe
      nSviluppate = 0
      If nCombInt > 0 Then
         Call AlimentaArrayRighe
         Call InitArrayPuntatore
      End If
      InitSviluppo = nCombInt
   End Function
   Function GetQuantitaNumeriDaSvil
      GetQuantitaNumeriDaSvil = nQNumeri
   End Function
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) Then
            s = s & Format2(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
   Private Sub InitArrayPuntatore
      Dim k
      ReDim aPuntatore(nClasse)
      For k = 1 To nClasse - 1
         aPuntatore(k) = 1
      Next
      aPuntatore(k) = 0
   End Sub
   Function GetComb(aComb)
      Dim nTmp,K,nPuntatore
      nPuntatore = nClasse
      nTmp = aPuntatore(nPuntatore) + 1
      Do While nTmp > nQNumPerRiga
         nPuntatore = nPuntatore - 1
         If nPuntatore <= 0 Then Exit Do
         nTmp = aPuntatore(nPuntatore) + 1
      Loop
      If nPuntatore > 0 Then
         For K = nPuntatore To nClasse
            aPuntatore(K) = nTmp
         Next
         ReDim aComb(nClasse)
         For K = 1 To nClasse
            aComb(K) = aRighe(K,aPuntatore(K))
         Next
         nSviluppate = nSviluppate + 1
         GetComb = True
      Else
         GetComb = False
      End If
   End Function
   Function GetQuantitaSviluppate
      GetQuantitaSviluppate = nSviluppate
   End Function
   Private Function AlimentArrayNumDaSvil(aNumeri)
      Dim k,q
      aBNumDaSvil = ArrayNumeriToBool(aNumeri)
      For k = 1 To 90
         If aBNumDaSvil(k) Then
            q = q + 1
         End If
      Next
      AlimentArrayNumDaSvil = q
   End Function
   Private Sub AlimentaArrayRighe
      Dim nRiga,k,aNumeri
      Call ArrayBNumToArrayNum(aBNumDaSvil,aNumeri)
      nQNumPerRiga =(nQNumeri - nClasse) + 1
      ReDim aRighe(nClasse,nQNumPerRiga)
      For nRiga = 1 To nClasse
         For k = nRiga To(nRiga + nQNumPerRiga) - 1
            aRighe(nRiga,(k - nRiga) + 1) = aNumeri(k)
         Next
      Next
   End Sub
   Sub OutputARighe
      Dim k,j,s
      For k = 1 To nClasse
         s = ""
         For j = 1 To nQNumPerRiga
            s = s & Format2(aRighe(k,j)) & "."
         Next
      Next
   End Sub
End Class
'fine classe motore senzalimitediclasse
Sub Main
   Dim dimensionematricevoluta
   Dim ruoteuniteminimo
   Dim ruoteunitemassimo
   Dim numeroruoteunite
   Dim filerisultato
   Dim coltotruoteunite
   ReDim aruote(0)
   Dim acolruoteunite
   Dim StringaRuoteUnite
   Dim contarighe
   Dim arighefile
   Dim righesviluppate
   Dim anumeri
   Dim classe
   Dim vettorerighefilemixruote
   Dim rigasviluppata
   Dim contarighesviluppate
   Dim sorte
   Dim rit,ritmax,Incmax,freq,Inizio,fine
   Dim diff
   Dim ritardomassimorilevato
   Dim ritardomassimostoricorilevato
   Dim stringarisultatoxritardomassimorilevato
   Dim stringarisultatoxritardostoricomassimorilevato
   Dim ritardominimorilevato
   Dim ritardominimostoricorilevato
   Dim stringarisultatoxritardominimorilevato
   Dim stringarisultatoxritardominimostoricorilevato
   Dim freqmassimarilevata
   Dim freqminimarilevata
   Dim stringarisultatoxfreqmassimarilevata
   Dim stringarisultatoxfreqminimarilevata
   Dim Incmaxmassimorilevato
   Dim Incmaxminimorilevato
   Dim stringarisultatoxincmaxmassimorilevato
   Dim stringarisultatoxincmaxminimorilevato
   Dim diffmassimarilevata
   Dim diffminimarilevata
   Dim stringarisultatoxdiffmassimarilevata
   Dim stringarisultatoxdiffminimarilevata
   Dim stringarsmaxdiognigrupporuoteunite
   Dim ritardomassimoxgrupporuoteunite
   ritardomassimoxgrupporuoteunite = 0
   Dim contacasimultiplixrit
   contacasimultiplixrit = 0
   Dim contacasimultiplixritmin
   contacasimultiplixritmin = 0 'EstrazioneFin
   Dim contacasimultiplixfqmax
   contacasimultiplixfqmax = 0
   Dim contacasimultiplixfqmin
   contacasimultiplixfqmin = 0 ' EstrazioneFin
   Dim contacasimultiplixincmaxmax
   contacasimultiplixincmaxmax = 0
   '---------------------------------------------------
   Dim contacasimultiplixrsmaxgenerale
   contacasimultiplixrsmaxgenerale = 0
   Dim contacasimultiplixrsmingenerale
   contacasimultiplixrsmingenerale = 0
   Dim contacasimultiplixincmaxmin
   contacasimultiplixincmaxmin = 0
   Dim contacasimultiplixdiffmax
   contacasimultiplixdiffmax = 0
   Dim contacasimultiplixdiffmin
   contacasimultiplixdiffmin = 0
   '---------------------------------------------------
   stringarsmaxdiognigrupporuoteunite = ""
   ritardomassimorilevato = 0
   ritardomassimostoricorilevato = 0
   ritardominimorilevato = EstrazioneFin
   ritardominimostoricorilevato = EstrazioneFin
   freqmassimarilevata = 0
   freqminimarilevata = EstrazioneFin
   Incmaxmassimorilevato = 0
   Incmaxminimorilevato = EstrazioneFin
   diffmassimarilevata = 0
   diffminimarilevata = EstrazioneFin
   Inizio = EstrazioneIni
   fine = EstrazioneFin
   Dim contatorexmatrice
   'Dim matriceordinabilemultidimensionale(500000,6) '(1300000,6) '(2600000,6) ' (500000,6) '10000  ' in c5 by gruppo 72 le formazioni integrali sono oltre 13 mln... ; in c4 solo.. 1.028.000 ca
   'Dim matriceordinabilemultidimensionale(dimensionematricevoluta,6) ' 2000000 (500000,6) '(3200000,6) 'rispetto i 3162510 necessari ad analizzare le rispettive c5 x A by cf54 sarebbero più che sufficienti...
   Dim righeoccupatenellamatrice
   Dim filexdiff0rilevate
   filexdiff0rilevate = "filexdiff0rilevate.txt"
   If FileEsistente(filexdiff0rilevate) Then
      Call EliminaFile(filexdiff0rilevate)
   End If
   Dim filexdiff0rilevatesolonumeri
   filexdiff0rilevatesolonumeri = "filexdiff0rilevatesolonumeri.txt"
   If FileEsistente(filexdiff0rilevatesolonumeri) Then
      Call EliminaFile(filexdiff0rilevatesolonumeri)
   End If
   Dim contadiff0
   contadiff0 = 0
   dimensionematricevoluta = CInt(InputBox("dimensione matrice ipotizzata max 10000",,10000))
   Dim moltiplicadimensionematricex
   moltiplicadimensionematricex = CInt(InputBox("moltiplica dimensione matrice x ",,700))
   dimensionematricevoluta = dimensionematricevoluta * moltiplicadimensionematricex
   ReDim matriceordinabilemultidimensionale(dimensionematricevoluta,6)
   ruoteuniteminimo = CInt(InputBox("ruote unite minimo",,1))
   ruoteunitemassimo = CInt(InputBox("ruote unite massimo",,ruoteuniteminimo))
   MsgBox "scegli sorte"
   sorte = CInt(InputBox("sorte",,1))
   MsgBox "scegli ruote da analizzare"
   Call ScegliRuote(aruote)
   Dim dafileodatabella
   Dim csvil
   Set csvil = New clsSviluppo
   dafileodatabella = InputBox("da file (f) o da tabella (t)",,"t")
   If dafileodatabella = "t" Then
      MsgBox "hai scelto da tabella"
      MsgBox "scegli gruppo base da sviluppare e analizzare"
      Call ScegliNumeri(anumeri)
      MsgBox "scegli classe da sviluppare"
      classe = CInt(InputBox("classe",,18)) 'sorte))
      filerisultato = ".\gruppipossibilidiruoteunite.txt"
      If FileEsistente(filerisultato) Then
         Call EliminaFile(filerisultato)
      End If
      For numeroruoteunite = ruoteuniteminimo To ruoteunitemassimo
         coltotruoteunite = InitSviluppoIntegrale(aruote,numeroruoteunite)
         If coltotruoteunite > 0 Then
            Do While GetCombSviluppo(acolruoteunite) = True
               StringaRuoteUnite = StringaNumeri(acolruoteunite)
               contarighe = contarighe + 1
               ScriviFile filerisultato,StringaRuoteUnite
               If ScriptInterrotto Then Exit Do
            Loop
         End If
         CloseFileHandle(filerisultato)
         Call LeggiRigheFileDiTesto(filerisultato,arighefile)
         ReDim arigaruote(numeroruoteunite)
         Dim crr
         For crr = 0 To UBound(arighefile)
            'righesviluppate = InitSviluppoIntegrale(anumeri,classe)
            righesviluppate = csvil.InitSviluppo(anumeri,classe)
            Dim vettoreruoteunite
            Call SplitByChar("." & arighefile(crr) & ".",".",vettoreruoteunite)
            Dim cvru
            ReDim arigaruote(UBound(vettoreruoteunite))
            For cvru = 0 To UBound(vettoreruoteunite)
               If righesviluppate > 0 Then
                  ' Do While GetCombSviluppo(rigasviluppata) = True
                  Do While cSvil.GetComb(rigasviluppata)
                     contarighesviluppate = contarighesviluppate + 1
                     Call StatisticaFormazioneTurbo(rigasviluppata,vettoreruoteunite,sorte,rit,ritmax,Incmax,freq,Inizio,fine)
                     'Messaggio "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " crm " & contatorexmatrice
                     'Messaggio "n" & StringaNumeri(rigasviluppata) & "r" & StringaNumeri(vettoreruoteunite) & "s" & NomeSorte(sorte) & "rit" & rit & "rs" & ritmax & "incmax" & Incmax & "frq" & freq & "diff" & diff & "crm" & contatorexmatrice
                     Messaggio "r" & StringaNumeri(vettoreruoteunite) & "s" & NomeSorte(sorte) & "rit" & rit & "rs" & ritmax & "incmax" & Incmax & "frq" & freq & "diff" & diff & "crm" & contatorexmatrice
                     diff = ritmax - rit
                     matriceordinabilemultidimensionale(contatorexmatrice,0) = StringaNumeri(rigasviluppata)
                     matriceordinabilemultidimensionale(contatorexmatrice,1) = StringaNumeri(vettoreruoteunite)
                     matriceordinabilemultidimensionale(contatorexmatrice,2) = NomeSorte(sorte)
                     matriceordinabilemultidimensionale(contatorexmatrice,3) = Int(rit)
                     matriceordinabilemultidimensionale(contatorexmatrice,4) = Int(ritmax)
                     matriceordinabilemultidimensionale(contatorexmatrice,5) = Int(Incmax)
                     matriceordinabilemultidimensionale(contatorexmatrice,6) = Int(freq)
                     contatorexmatrice = contatorexmatrice + 1
                     righeoccupatenellamatrice = righeoccupatenellamatrice + 1
                     If rit = ritardomassimorilevato Then
                        contacasimultiplixrit = contacasimultiplixrit + 1
                     End If
                     If rit > ritardomassimorilevato Then
                        ritardomassimorilevato = rit
                        stringarisultatoxritardomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrit = 0
                     End If
                     If ritmax = ritardomassimostoricorilevato Then
                        contacasimultiplixrsmaxgenerale = contacasimultiplixrsmaxgenerale + 1
                     End If
                     If ritmax > ritardomassimostoricorilevato Then
                        ritardomassimostoricorilevato = ritmax
                        stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrsmaxgenerale = 0
                     End If
                     If ritmax > ritardomassimoxgrupporuoteunite Then
                        ritardomassimoxgrupporuoteunite = ritmax
                        'stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                     End If
                     If rit < ritardominimorilevato Then
                        ritardominimorilevato = rit
                        stringarisultatoxritardominimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixritmin = 0
                     End If
                     If rit = ritardominimorilevato Then
                        contacasimultiplixritmin = contacasimultiplixritmin + 1
                     End If
                     If ritmax = ritardominimostoricorilevato Then
                        contacasimultiplixrsmingenerale = contacasimultiplixrsmingenerale + 1
                     End If
                     If ritmax < ritardominimostoricorilevato Then
                        ritardominimostoricorilevato = ritmax
                        stringarisultatoxritardominimostoricorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixrsmingenerale = 0
                     End If
                     If freq > freqmassimarilevata Then
                        freqmassimarilevata = freq
                        stringarisultatoxfreqmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixfqmax = 0
                     End If
                     If freq = freqmassimarilevata Then
                        contacasimultiplixfqmax = contacasimultiplixfqmax + 1
                     End If
                     If freq < freqminimarilevata Then
                        freqminimarilevata = freq
                        stringarisultatoxfreqminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixfqmin = 0
                     End If
                     If freq = freqminimarilevata Then
                        contacasimultiplixfqmin = contacasimultiplixfqmin + 1
                     End If
                     If Incmax > Incmaxmassimorilevato Then
                        Incmaxmassimorilevato = Incmax
                        stringarisultatoxincmaxmassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixincmaxmax = 0
                     End If
                     If Incmax = Incmaxmassimorilevato Then
                        contacasimultiplixincmaxmax = contacasimultiplixincmaxmax + 1
                     End If
                     If Incmax = Incmaxminimorilevato Then
                        contacasimultiplixincmaxmin = contacasimultiplixincmaxmin + 1
                     End If
                     If Incmax < Incmaxminimorilevato Then
                        Incmaxminimorilevato = Incmax
                        stringarisultatoxincmaxminimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixincmaxmin = 0
                     End If
                     If diff = diffmassimarilevata Then
                        contacasimultiplixdiffmax = contacasimultiplixdiffmax + 1
                     End If
                     If diff > diffmassimarilevata Then
                        diffmassimarilevata = diff
                        stringarisultatoxdiffmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixdiffmax = 0
                     End If
                     If diff = diffminimarilevata Then
                        contacasimultiplixdiffmin = contacasimultiplixdiffmin + 1
                     End If
                     If diff < diffminimarilevata Then
                        diffminimarilevata = diff
                        stringarisultatoxdiffminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        contacasimultiplixdiffmin = 0
                     End If
                     'se diff=0 scrivi risultati nel file txt apposito
                     '  End If
                     If diff = 0 Then
                        Dim stringarisultatoxdiff0rilevata
                        stringarisultatoxdiff0rilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        ScriviFile filexdiff0rilevate,stringarisultatoxdiff0rilevata
                        CloseFileHandle(filexdiff0rilevate)
                        ScriviFile filexdiff0rilevatesolonumeri,StringaNumeri(rigasviluppata)
                        CloseFileHandle(filexdiff0rilevatesolonumeri)
                        contadiff0 = contadiff0 + 1
                     End If
                     '----------------------------------------------------------
                     If ScriptInterrotto Then Exit Do
                  Loop
               End If
               If ritardomassimoxgrupporuoteunite <> 0 And ritardomassimoxgrupporuoteunite <> "0" Then
                  stringarsmaxdiognigrupporuoteunite = stringarsmaxdiognigrupporuoteunite & " | " & StringaNumeri(vettoreruoteunite) & " rsgru " & ritardomassimoxgrupporuoteunite & " . "
               End If
               ritardomassimoxgrupporuoteunite = 0
               If ScriptInterrotto Then Exit For
            Next ' cvru
            If ScriptInterrotto Then Exit For
            Messaggio "thread elaborazionale n. " & contatorexmatrice
         Next
         If ScriptInterrotto Then Exit For
         Call AvanzamentoElab(1,ruoteunitemassimo,crr)
      Next 'x numero ruote unite
      Dim Valorediordinamentovoluto
      Dim Valorecriteriodiordinamento
      Dim quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Valorediordinamentovoluto = CInt(InputBox("valore di ordinamento voluto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) ",,3))
      Valorecriteriodiordinamento = CInt(InputBox("valore criterio di ordinamento voluto: crescente (1) decrescente (-1) ",,- 1))
      'quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = CInt(InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100))
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100)
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = Int(quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice)
      Scrivi
      '      Scrivi "visualizzazione del contenuto della matrice non ordinata..."
      '      Scrivi
      '      For contatorexmatrice = 0 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupateinmatrice 'UBound(matriceordinabilemultidimensionale)
      '         Messaggio "sto elaborando il record di matrice n. " & contatorexmatrice
      '         Scrivi " n " & matriceordinabilemultidimensionale(contatorexmatrice,0) & " r " & matriceordinabilemultidimensionale(contatorexmatrice,1) & " s " & matriceordinabilemultidimensionale(contatorexmatrice,2) & " rit " & matriceordinabilemultidimensionale(contatorexmatrice,3) & " ritmax " & matriceordinabilemultidimensionale(contatorexmatrice,4) & " incmax " & matriceordinabilemultidimensionale(contatorexmatrice,5) & " freq " & matriceordinabilemultidimensionale(contatorexmatrice,6) & " diff " & diff & " contatore riga matrice " & contatorexmatrice
      '      Next
      'Scrivi
      Scrivi "visualizzazione del contenuto dell matrice ordinata..."
      Scrivi
      Scrivi "num-ruota-sorte-rit-ritmax-incmax-freq"
      Scrivi
      Dim sortFREQ
      Dim MassimoFreq
      Dim MinimoFreq
      Dim sortRITMAX
      Dim MassimoRITMAX
      Dim MinimoRITMAX
      Dim sortINCMAX
      Dim MassimoINCMAX
      Dim MinimoINCMAX
      Dim sortRIT
      Dim MassimoRIT
      Dim MinimoRIT
      MassimoFreq = freqmassimarilevata 'EstrazioneFin
      MinimoFreq = freqminimarilevata '0
      MassimoRITMAX = ritardomassimostoricorilevato 'EstrazioneFin
      MinimoRITMAX = ritardominimostoricorilevato '0
      MassimoINCMAX = Incmaxmassimorilevato 'EstrazioneFin
      MinimoINCMAX = Incmaxminimorilevato '0
      MassimoRIT = ritardomassimorilevato 'EstrazioneFin
      MinimoRIT = ritardominimorilevato '0
      Dim cmom
      Dim k
      Call OrdinaMatrice(matriceordinabilemultidimensionale,Valorecriteriodiordinamento,Valorediordinamentovoluto)
      For k = 0 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupatenellamatrice
         Scrivi matriceordinabilemultidimensionale(k,0) & " - " & matriceordinabilemultidimensionale(k,1) & " - " & matriceordinabilemultidimensionale(k,2) & " - " & matriceordinabilemultidimensionale(k,3) & " - " & matriceordinabilemultidimensionale(k,4) & " - " & matriceordinabilemultidimensionale(k,5) & " - " & matriceordinabilemultidimensionale(k,6)
      Next
      Scrivi
      Scrivi
      Scrivi "Elaborazione terminata con successo!"
      Scrivi
      Scrivi "range temporale analizzato " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
      Scrivi "n. di estrazioni totali analizzate " &(EstrazioneFin - EstrazioneIni) + 1
      Scrivi "Input numeri scelti da tabella"
      Scrivi "gruppo base numerico analizzato " & StringaNumeri(anumeri)
      Scrivi "classe gruppo numerico sviluppato " & UBound(anumeri)
      Scrivi "numero complessivo di ruote a girare " & UBound(aruote)
      Scrivi "ruote analizzate " & StringaRuote(aruote)
      Scrivi "ruote unite minimo " & ruoteuniteminimo
      Scrivi "ruote unite massimo " & ruoteunitemassimo
      Scrivi "classe di sviluppo " & classe
      Scrivi "sorte di ricerca " & sorte
      Scrivi "parametro di ordinamento scelto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) " & Valorediordinamentovoluto
      Scrivi "criterio di ordinamento impostato crescente (1) decrescente (-1)  " & Valorecriteriodiordinamento
      Scrivi "righe (x mix di ruote) sviluppate " & contarighe
      Scrivi "righe totali di sviluppo generate " & contarighesviluppate
      Scrivi
      Scrivi "cgb " & UBound(anumeri) & " ; " & " cs " & classe & "  ; " & " pr " & UBound(aruote) & " ;  qruag  :  da " & ruoteuniteminimo & " a " & ruoteunitemassimo & " ;  righe " & contarighesviluppate & " ;  tt : " & TempoTrascorso & " sg " & righesviluppate
      Scrivi
      Scrivi "righe occupate nella matrice di dimensione ( " & UBound(matriceordinabilemultidimensionale) & " ) : " & righeoccupatenellamatrice
      Scrivi "numero dei primi risultati visualizzati in output in base all'ordinamento scelto " & quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Scrivi
      Scrivi "report sui valori estremi rilevati"
      Scrivi
      Scrivi "rit max generale " & ritardomassimorilevato
      Scrivi "formazione : " & stringarisultatoxritardomassimorilevato
      Scrivi "n. casi multipli di rit max generale " & contacasimultiplixrit
      Scrivi "rs max generale " & ritardomassimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardostoricomassimorilevato
      Scrivi "n. casi multipli di rit sto max generale " & Int(contacasimultiplixrsmaxgenerale) - 1
      Scrivi "ra min generale " & ritardominimorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimorilevato
      Scrivi "n. casi multipli di rit min generale " & Int(contacasimultiplixritmin) - 1
      Scrivi "rs min generale " & ritardominimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimostoricorilevato
      Scrivi "n. casi multipli di rit sto min generale " & Int(contacasimultiplixrsmingenerale) - 1
      Scrivi "fq max generale " & freqmassimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqmassimarilevata
      Scrivi "n. casi multipli di fq max generale " & Int(contacasimultiplixfqmax) - 1
      Scrivi "fq min generale " & freqminimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqminimarilevata
      Scrivi "n. casi multipli di fq min generale " & Int(contacasimultiplixfqmin) - 1
      Scrivi "incmax max generale " & Incmaxmassimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxmassimorilevato
      Scrivi "n. casi multipli di incmax max generale " & Int(contacasimultiplixincmaxmax) - 1
      Scrivi "incmax min generale " & Incmaxminimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxminimorilevato
      Scrivi "n. casi multipli di incmax min generale " & Int(contacasimultiplixincmaxmin) - 1
      Scrivi "diff max generale " & diffmassimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffmassimarilevata
      Scrivi "n. casi multipli di diff  max generale " & Int(contacasimultiplixdiffmax) - 1
      Scrivi "diff min generale " & diffminimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffminimarilevata
      Scrivi "n. casi multipli di diff min generale " & Int(contacasimultiplixdiffmin) - 1
      Scrivi "n di casi diff 0 rilevati " & contadiff0
      Scrivi
      Scrivi "rs max relativi ad ogni gruppo di ruote unite generato " & stringarsmaxdiognigrupporuoteunite
      Scrivi
      Scrivi "Tt : " & TempoTrascorso
   Else
      '  ANALISI DA FILE TXT...
      Dim rigasviluppataxritmaxsolonumeri
      Dim StringaRuotexritmaxsolonumeri
      Dim rigasviluppataxfqmaxsolonumeri
      Dim StringaRuotexfqmaxsolonumeri
      MsgBox "hai scelto analisi da file"
      MsgBox "scegli file da analizzare"
      Dim filedaelaborare
      filedaelaborare = ScegliFile(".\",".txt","filetxtdasviluppareeanalizzare.txt")
      MsgBox "hai scelto di analizzare il seguente file: " & filedaelaborare
      MsgBox "scegli classe da sviluppare"
      classe = CInt(InputBox("classe",,18)) '2))
      filerisultato = ".\gruppipossibilidiruoteunite.txt"
      If FileEsistente(filerisultato) Then
         Call EliminaFile(filerisultato)
      End If
      For numeroruoteunite = ruoteuniteminimo To ruoteunitemassimo
         coltotruoteunite = InitSviluppoIntegrale(aruote,numeroruoteunite)
         If coltotruoteunite > 0 Then
            Do While GetCombSviluppo(acolruoteunite) = True
               StringaRuoteUnite = StringaNumeri(acolruoteunite)
               contarighe = contarighe + 1
               ScriviFile filerisultato,StringaRuoteUnite
               If ScriptInterrotto Then Exit Do
            Loop
         End If
         CloseFileHandle(filerisultato)
         Dim arighefiledaelaborare
         Dim crfde
         Dim vettorestringhenumerifile
         Dim vettoreinterinumerifile
         Call LeggiRigheFileDiTesto(filedaelaborare,arighefiledaelaborare)
         For crfde = 0 To UBound(arighefiledaelaborare)
            'Scrivi "|" & arighefiledaelaborare(crfde) & "|"
            Call SplitByChar(arighefiledaelaborare(crfde),".",vettorestringhenumerifile)
            Dim cevns
            ReDim vettoreinterinumerifile(UBound(vettorestringhenumerifile))
            For cevns = 0 To UBound(vettorestringhenumerifile)
               vettoreinterinumerifile(cevns) = Int(vettorestringhenumerifile(cevns))
               Dim cvi
            Next ' x vettore stringhe numeri   file
            ' Scrivi
            Call LeggiRigheFileDiTesto(filerisultato,arighefile)
            ReDim arigaruote(numeroruoteunite)
            For crr = 0 To UBound(arighefile)
               'righesviluppate = InitSviluppoIntegrale(vettoreinterinumerifile,classe)
               righesviluppate = csvil.InitSviluppo(vettoreinterinumerifile,classe)
               Call SplitByChar("." & arighefile(crr) & ".",".",vettoreruoteunite)
               ReDim arigaruote(UBound(vettoreruoteunite))
               For cvru = 0 To UBound(vettoreruoteunite)
                  If righesviluppate > 0 Then
                     ' Do While GetCombSviluppo(rigasviluppata) = True
                     Do While cSvil.GetComb(rigasviluppata)
                        contarighesviluppate = contarighesviluppate + 1
                        Call StatisticaFormazioneTurbo(rigasviluppata,vettoreruoteunite,sorte,rit,ritmax,Incmax,freq,Inizio,fine)
                        'Messaggio "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " crm " & contatorexmatrice
                        diff = ritmax - rit
                        matriceordinabilemultidimensionale(contatorexmatrice,0) = StringaNumeri(rigasviluppata)
                        matriceordinabilemultidimensionale(contatorexmatrice,1) = StringaNumeri(vettoreruoteunite)
                        matriceordinabilemultidimensionale(contatorexmatrice,2) = NomeSorte(sorte)
                        matriceordinabilemultidimensionale(contatorexmatrice,3) = Int(rit)
                        matriceordinabilemultidimensionale(contatorexmatrice,4) = Int(ritmax)
                        matriceordinabilemultidimensionale(contatorexmatrice,5) = Int(Incmax)
                        matriceordinabilemultidimensionale(contatorexmatrice,6) = Int(freq)
                        contatorexmatrice = contatorexmatrice + 1
                        righeoccupatenellamatrice = righeoccupatenellamatrice + 1
                        If rit = ritardomassimorilevato Then
                           contacasimultiplixrit = contacasimultiplixrit + 1
                        End If
                        If rit > ritardomassimorilevato Then
                           ritardomassimorilevato = rit
                           stringarisultatoxritardomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           rigasviluppataxritmaxsolonumeri = StringaNumeri(rigasviluppata)
                           StringaRuotexritmaxsolonumeri = StringaNumeri(vettoreruoteunite)
                           contacasimultiplixrit = 0
                        End If
                        If ritmax = ritardomassimostoricorilevato Then
                           contacasimultiplixrsmaxgenerale = contacasimultiplixrsmaxgenerale + 1
                        End If
                        If ritmax > ritardomassimostoricorilevato Then
                           ritardomassimostoricorilevato = ritmax
                           stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixrsmaxgenerale = 0
                        End If
                        If ritmax > ritardomassimoxgrupporuoteunite Then
                           ritardomassimoxgrupporuoteunite = ritmax
                           'stringarisultatoxritardostoricomassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                        End If
                        If rit = ritardominimorilevato Then
                           contacasimultiplixritmin = contacasimultiplixritmin + 1
                        End If
                        If rit < ritardominimorilevato Then
                           ritardominimorilevato = rit
                           stringarisultatoxritardominimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixritmin = 0
                        End If
                        If ritmax = ritardominimostoricorilevato Then
                           contacasimultiplixrsmingenerale = contacasimultiplixrsmingenerale + 1
                        End If
                        If ritmax < ritardominimostoricorilevato Then
                           ritardominimostoricorilevato = ritmax
                           stringarisultatoxritardominimostoricorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixrsmingenerale = 0
                        End If
                        If freq = freqmassimarilevata Then
                           contacasimultiplixfqmax = contacasimultiplixfqmax + 1
                        End If
                        If freq > freqmassimarilevata Then
                           freqmassimarilevata = freq
                           stringarisultatoxfreqmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           rigasviluppataxfqmaxsolonumeri = StringaNumeri(rigasviluppata)
                           StringaRuotexfqmaxsolonumeri = StringaNumeri(vettoreruoteunite)
                           contacasimultiplixfqmax = 0
                        End If
                        If freq = freqminimarilevata Then
                           contacasimultiplixfqmin = contacasimultiplixfqmin + 1
                        End If
                        If freq < freqminimarilevata Then
                           freqminimarilevata = freq
                           stringarisultatoxfreqminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixfqmin = 0
                        End If
                        If Incmax = Incmaxmassimorilevato Then
                           contacasimultiplixincmaxmax = contacasimultiplixincmaxmax + 1
                        End If
                        If Incmax > Incmaxmassimorilevato Then
                           Incmaxmassimorilevato = Incmax
                           stringarisultatoxincmaxmassimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixincmaxmax = 0
                        End If
                        If Incmax = Incmaxminimorilevato Then
                           contacasimultiplixincmaxmin = contacasimultiplixincmaxmin + 1
                        End If
                        If Incmax < Incmaxminimorilevato Then
                           Incmaxminimorilevato = Incmax
                           stringarisultatoxincmaxminimorilevato = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixincmaxmin = 0
                        End If
                        If diff = diffmassimarilevata Then
                           contacasimultiplixdiffmax = contacasimultiplixdiffmax + 1
                        End If
                        If diff > diffmassimarilevata Then
                           diffmassimarilevata = diff
                           stringarisultatoxdiffmassimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixdiffmax = 0
                        End If
                        If diff = diffminimarilevata Then
                           contacasimultiplixdiffmin = contacasimultiplixdiffmin + 1
                        End If
                        If diff < diffminimarilevata Then
                           diffminimarilevata = diff
                           stringarisultatoxdiffminimarilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           contacasimultiplixdiffmin = 0
                        End If
                        'se diff=0 scrivi risultati nel file txt apposito
                        '  End If
                        If diff = 0 Then
                           'Dim stringarisultatoxdiff0rilevata
                           stringarisultatoxdiff0rilevata = "n " & StringaNumeri(rigasviluppata) & " r " & StringaNumeri(vettoreruoteunite) & " s " & NomeSorte(sorte) & " rit " & rit & " ritmax " & ritmax & " incmax " & Incmax & " freq " & freq & " diff " & diff & " contatore riga matrice " & contatorexmatrice
                           ScriviFile filexdiff0rilevate,stringarisultatoxdiff0rilevata
                           CloseFileHandle(filexdiff0rilevate)
                           ScriviFile filexdiff0rilevatesolonumeri,StringaNumeri(rigasviluppata)
                           CloseFileHandle(filexdiff0rilevatesolonumeri)
                           contadiff0 = contadiff0 + 1
                        End If
                        '----------------------------------------------------------
                        If ScriptInterrotto Then Exit Do
                     Loop
                  End If
                  If ritardomassimoxgrupporuoteunite <> 0 And ritardomassimoxgrupporuoteunite <> "0" Then
                     stringarsmaxdiognigrupporuoteunite = stringarsmaxdiognigrupporuoteunite & " | " & StringaNumeri(vettoreruoteunite) & " rsgru " & ritardomassimoxgrupporuoteunite & " . "
                  End If
                  ritardomassimoxgrupporuoteunite = 0
                  If ScriptInterrotto Then Exit For
               Next ' cvru
               If ScriptInterrotto Then Exit For
               Messaggio "thread elaborazionale n. " & contatorexmatrice
            Next
            If ScriptInterrotto Then Exit For
            Call AvanzamentoElab(1,ruoteunitemassimo,crr)
         Next ' x vettore righe file txt da elaborare
         If ScriptInterrotto Then Exit For
      Next 'x numero ruote unite...
      Valorediordinamentovoluto = CInt(InputBox("valore di ordinamento voluto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) ",,3))
      Valorecriteriodiordinamento = CInt(InputBox("valore criterio di ordinamento voluto: crescente (1) decrescente (-1) ",,- 1))
      quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice = CInt(InputBox("quanti risultati vuoi visualizzare rispetto quelli presenti in matrice e pari a " & righeoccupatenellamatrice & " ?",,100))
      'Scrivi
      '      Scrivi "visualizzazione del contenuto della matrice non ordinata..."
      '      Scrivi
      '      For contatorexmatrice = 0 To  quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice  'righeoccupatenellamatrice 'UBound(matriceordinabilemultidimensionale)
      '         Messaggio "sto elaborando il record di matrice n. " & contatorexmatrice
      '         Scrivi " n " & matriceordinabilemultidimensionale(contatorexmatrice,0) & " r " & matriceordinabilemultidimensionale(contatorexmatrice,1) & " s " & matriceordinabilemultidimensionale(contatorexmatrice,2) & " rit " & matriceordinabilemultidimensionale(contatorexmatrice,3) & " ritmax " & matriceordinabilemultidimensionale(contatorexmatrice,4) & " incmax " & matriceordinabilemultidimensionale(contatorexmatrice,5) & " freq " & matriceordinabilemultidimensionale(contatorexmatrice,6) & " diff " & diff & " contatore riga matrice " & contatorexmatrice
      '      Next
      'Scrivi
      Scrivi "visualizzazione del contenuto della matrice ordinata..."
      Scrivi
      MassimoFreq = freqmassimarilevata 'EstrazioneFin
      MinimoFreq = freqminimarilevata '0
      MassimoRITMAX = ritardomassimostoricorilevato 'EstrazioneFin
      MinimoRITMAX = ritardominimostoricorilevato '0
      MassimoINCMAX = Incmaxmassimorilevato 'EstrazioneFin
      MinimoINCMAX = Incmaxminimorilevato '0
      MassimoRIT = ritardomassimorilevato 'EstrazioneFin
      MinimoRIT = ritardominimorilevato '0
      Call OrdinaMatrice(matriceordinabilemultidimensionale,Valorecriteriodiordinamento,Valorediordinamentovoluto)
      For k = 1 To quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice 'righeoccupatenellamatrice
         Scrivi matriceordinabilemultidimensionale(k,0) & " - " & matriceordinabilemultidimensionale(k,1) & " - " & matriceordinabilemultidimensionale(k,2) & " - " & matriceordinabilemultidimensionale(k,3) & " - " & matriceordinabilemultidimensionale(k,4) & " - " & matriceordinabilemultidimensionale(k,5) & " - " & matriceordinabilemultidimensionale(k,6)
      Next
      Scrivi
      Scrivi
      Scrivi "Elaborazione terminata con successo!"
      Scrivi
      Scrivi "range temporale analizzato " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
      Scrivi "n. di estrazioni totali analizzate " &(EstrazioneFin - EstrazioneIni) + 1
      Scrivi "Input numeri scelti da file"
      Scrivi "file scelto per l'elaborazione " & filedaelaborare
      Scrivi "numero complessivo di ruote a girare " & UBound(aruote)
      Scrivi "ruote analizzate " & StringaRuote(aruote)
      Scrivi "ruote unite minimo " & ruoteuniteminimo
      Scrivi "ruote unite massimo " & ruoteunitemassimo
      Scrivi "classe di sviluppo " & classe
      Scrivi "sorte di ricerca " & sorte
      Scrivi "parametro di ordinamento scelto num(0); ruote(1); rit(3) ; ritmax(4) ; incmax(5) ; freq(6) " & Valorediordinamentovoluto
      Scrivi "criterio di ordinamento impostato crescente (1) decrescente (-1)  " & Valorecriteriodiordinamento
      Scrivi "righe (x mix di ruote) sviluppate " & contarighe
      Scrivi "righe totali di sviluppo generate " & contarighesviluppate
      Scrivi
      'Scrivi "righe occupate nella matrice di dimensione ( " & UBound(matriceordinabilemultidimensionale) & " ) : " & righeoccupatenellamatrice
      Scrivi "numero dei primi risultati visualizzati in output in base all'ordinamento scelto " & quantirisultativuoivisualizzarerispettolerigheoccupateinmatrice
      Scrivi
      Scrivi "report sui valori estremi rilevati"
      Dim vettoreformazioneritmaxunico
      Dim vettoreruoteformazioneritmaxunico
      Dim vettoreformazioneritrsmaxunico
      Dim vettoreformazioneritminunico
      Dim vettoreformazioneritrsminunico
      Dim vettoreformazionefqmaxunica
      Dim vettoreruoteformazionefqmaxunica
      Dim vettoreformazionefqminunica
      Dim vettoreformazioneincmaxmaxunico
      Dim vettoreformazioneincmaxminunico
      Dim vettoreformazionediffmaxunica
      Dim vettoreformazionediffminunica
      Dim Inizioverificaxrisultanzaunica
      Inizioverificaxrisultanzaunica = EstrazioneFin
      Dim sortediverificaxrisultanzaunica
      sortediverificaxrisultanzaunica = 2
      Dim colpiverifica,esito,estratti,idesdiuscita
      colpiverifica = 1
      Dim casipositivi
      casipositivi = 0
      Scrivi
      Scrivi "rit max generale " & ritardomassimorilevato
      Scrivi "formazione : " & stringarisultatoxritardomassimorilevato
      Scrivi "n. casi multipli di rit max generale " & contacasimultiplixrit
      ' modulo di verifica... x rit max
      If contacasimultiplixrit = - 1 Or contacasimultiplixrit = 0 Then
         Call SplitByChar(rigasviluppataxritmaxsolonumeri,".",vettoreformazioneritmaxunico)
         Call SplitByChar(StringaRuotexritmaxsolonumeri,".",vettoreruoteformazioneritmaxunico)
         'verifica se ha sfaldato  colpo
         Call VerificaEsitoTurbo(vettoreformazioneritmaxunico,vettoreruoteformazioneritmaxunico,Inizioverificaxrisultanzaunica + 1,sortediverificaxrisultanzaunica,colpiverifica,,esito,,estratti,idesdiuscita)
         If esito <> "" Then
            Scrivi "OK rit  max unico ha sfaldato",True,,,vbGreen
            Scrivi "estratti a colpo " & estratti & " - " & GetInfoEstrazione(idesdiuscita),True,,,vbGreen
            casipositivi = casipositivi + 1
         Else
            Scrivi "NO rit  max unico non ha sfaldato",True,,,vbRed
         End If
      End If
      '-----------------------------------------
      Scrivi "rs max generale " & ritardomassimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardostoricomassimorilevato
      Scrivi "n. casi multipli di rit sto max generale " & Int(contacasimultiplixrsmaxgenerale)' - 1
      Scrivi "ra min generale " & ritardominimorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimorilevato
      Scrivi "n. casi multipli di rit min generale " & Int(contacasimultiplixritmin) '- 1
      Scrivi "rs min generale " & ritardominimostoricorilevato
      Scrivi "formazione : " & stringarisultatoxritardominimostoricorilevato
      Scrivi "n. casi multipli di rit sto min generale " & Int(contacasimultiplixrsmingenerale) '- 1
      Scrivi "fq max generale " & freqmassimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqmassimarilevata
      Scrivi "n. casi multipli di fq max generale " & Int(contacasimultiplixfqmax)' - 1
      ' modulo di verifica... x fq max
      If contacasimultiplixfqmax = - 1 Or contacasimultiplixfqmax = 0 Then
         Call SplitByChar(rigasviluppataxfqmaxsolonumeri,".",vettoreformazionefqmaxunica)
         Call SplitByChar(StringaRuotexfqmaxsolonumeri,".",vettoreruoteformazionefqmaxunica)
         'verifica se ha sfaldato  colpo
         Call VerificaEsitoTurbo(vettoreformazionefqmaxunica,vettoreruoteformazionefqmaxunica,Inizioverificaxrisultanzaunica + 1,sortediverificaxrisultanzaunica,colpiverifica,,esito,,estratti,idesdiuscita)
         If esito <> "" Then
            Scrivi "OK fq max unico ha sfaldato",True,,,vbGreen
            Scrivi "estratti a colpo " & estratti & " - " & GetInfoEstrazione(idesdiuscita),True,,,vbGreen
            casipositivi = casipositivi + 1
         Else
            Scrivi "NO fq  max unico non ha sfaldato",True,,,vbRed
         End If
      End If
      '-----------------------------------------
      Scrivi "fq min generale " & freqminimarilevata
      Scrivi "formazione : " & stringarisultatoxfreqminimarilevata
      Scrivi "n. casi multipli di fq min generale " & Int(contacasimultiplixfqmin) '- 1
      Scrivi "incmax max generale " & Incmaxmassimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxmassimorilevato
      Scrivi "n. casi multipli di incmax max generale " & Int(contacasimultiplixincmaxmax) '- 1
      Scrivi "incmax min generale " & Incmaxminimorilevato
      Scrivi "formazione : " & stringarisultatoxincmaxminimorilevato
      Scrivi "n. casi multipli di incmax min generale " & Int(contacasimultiplixincmaxmin) '- 1
      Scrivi "diff max generale " & diffmassimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffmassimarilevata
      Scrivi "n. casi multipli di diff  max generale " & Int(contacasimultiplixdiffmax)' - 1
      Scrivi "diff min generale " & diffminimarilevata
      Scrivi "formazione : " & stringarisultatoxdiffminimarilevata
      Scrivi "n. casi multipli di diff min generale " & Int(contacasimultiplixdiffmin) '- 1
      Scrivi "n di casi diff 0 rilevati " & contadiff0
      Scrivi
      Scrivi "rs max relativi ad ogni gruppo di ruote unite generato " & stringarsmaxdiognigrupporuoteunite
      Scrivi
      Scrivi "Tt : " & TempoTrascorso
   End If
   'mostra formazioni diff 0 rilevate... leggendole dal relativo file... txt
   Scrivi
   Scrivi
   Scrivi "formazioni diff 0 rilevate con relativa ruota(e)"
   Scrivi
   Scrivi
   ReDim arighefilediff0(0)
   Dim crfdz
   Call LeggiRigheFileDiTesto(filexdiff0rilevate,arighefilediff0)
   For crfdz = 0 To UBound(arighefilediff0)
      Scrivi arighefilediff0(crfdz)
      If ScriptInterrotto Then Exit For
   Next
   '--------------------------------------------------------------------------------------------
End Sub

Buone analisi.. :)
Lotto tom ti ringrazio infinitamente. Non capisco bene cosa mi dici, però provo ad usare il megascriptone. Poi ti faccio sapere.

xLottoluke
Praticamente mi serve che faccia il procedimento che hai riportato su TU, ma su 2 ruote invece di TU. Cioè a ruote unite.
 

ananda

Advanced Member >PLATINUM PLUS<
Per farvi capire.
Questo mi restituisce i 5 numeri più ritardati per ambo su 2 ruote. Cioè analizza tutte le coppie di ruote, e guarda quali numeri sono più in rit per ambo in entrambe.

Nella seconda immagine il risultato. Cioè nelle ruote di CA-TO ci sono questi 5 numeri in ritardo per ambo e questo è il ritardo massimo fra i vari ritardi in tutte le coppie di ruote.
 

Allegati

  • stat.jpg
    stat.jpg
    102 KB · Visite: 6
  • stat 1.jpg
    stat 1.jpg
    106,6 KB · Visite: 7

lottoLuke

Banned
ti allego uno script di uno studioso che stimo ed apprezzo.

Option Explicit
Sub Main
''''''' variante e modifica B E P P I G N E L L O
Dim numericercati,n,i,fine,fineciclo,xl,s,finale,retrit,retritmax,r,ct,w,rmin,j,jk,ia,k,xt,AmbiRitardovalido,ritardoattuale,rminn,cz,v
Dim RetIncrRitMax,RetFre,Inizio,Iniz,Ini,pj,n2,rt,o,Primirit,nomi,pres,freq,f,piuruote
Dim numeri(90),maxnumero(90),ruote(11),comb(9999,2),minim(90,90)
'''''input
finale = InputBox("Estrazione n.",,EstrazioneFin)
Do While numericercati = 0
numericercati = CInt(InputBox("Lunghetta di n.",,7))
If numericercati >= 12 Then
MsgBox("Max possibile Undicina ")
numericercati = 0
Else
Exit Do
End If
Loop
s = CInt(InputBox("Sorte lunghetta ",,2)) '''''' sorte 2 (ambo) 3 (Terno)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''10 ruote
Dim t,ed
ReDim aruote(11)
nomi = ""
Do While t = 0
t = ScegliRuote(aruote)
If t >= 5 Then
MsgBox("Max possibile 4 Ruote ")
t = 0
Else
Exit Do
End If
Loop


If Int(aruote(1)) = 11 Then

aruote(1) = 11
nomi = NomeRuota(aruote(1))
Else
For ed = 1 To t
nomi = nomi & NomeRuota(aruote(ed)) & " : "
Next
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Scrivi t & " Ruote " & StringaNumeri(aruote," - ")
If Int(aruote(1)) = 11 Then
If s = 2 Then
rmin = "0.0.230.135.80.60.45.35.30.25.25.20.17.13"
Else
rmin = "0.0.200.140.75.65.45.40.38.35.24.23.20.16"
End If
ReDim maxmax(13)
Call SplitByChar(rmin,".",maxmax)
End If
If Int(aruote(1)) <> 11 Then
If s = 3 Then
If t > 0 And t < 5 Then
rmin = "0.0.0.150.150.90.90.90.90.90.90.70.70.70"
End If
End If
If s = 2 Then
If t > 0 And t < 5 Then
rmin = "0.0.550.300.200.150.140.130.70.60.50.50.25.15"
End If
End If
ReDim maxmax(13)
Call SplitByChar(rmin,".",maxmax)
End If
Inizio = TimeValue(Time)
''''''''numeri
For i = 1 To numericercati
maxnumero(i) = 90 + i - numericercati
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''
ReDim nr(3) 'memorizza il ritardo minimo dei 4005 ambi sulle ruote individuate
For ia = 1 To 89
For j =(ia + 1) To 90
nr(1) = ia : nr(2) = j
minim(ia,j) = RitardoCombinazioneTurbo(aruote,nr,2,finale,,,3950)
xt = xt + 1
Messaggio(xt & " - " & numericercati)
Next
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
n = 1
numeri(n) = 1
'inizia la ricerca dei numeri
Do
fine = 1
n = n + 1
numeri(n) = numeri(n - 1) + 1
xl = xl + 1
Messaggio("Attendere,Fino a 11 numeri(tempi 1 minuti circa,oltre durata 'n ore').." & xl)
' Call AvanzamentoElab(1,99,xl)
If ScriptInterrotto Then Exit Do
Do
If ScriptInterrotto Then Exit Do
If numeri(n) > maxnumero(n) Then
Do
n = n - 1
If n = 0 Then
fine = 0
Exit Do
End If
numeri(n) = numeri(n) + 1
If ScriptInterrotto Then Exit Do
Loop Until numeri(n) <= maxnumero(n)
'''''
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' per la sorte delL'AMBO valorizza ritardo ed esclude lunghetta se il ritardo minore del minimo
If n > 1 Then
fineciclo = 1
AmbiRitardovalido = 0
For jk = 1 To(n - 1)
ritardoattuale = minim(numeri(jk),numeri(n))
If Int(ritardoattuale) < Int(maxmax(numericercati)) Then
Exit For
Else
AmbiRitardovalido = AmbiRitardovalido + 1
End If
Next
If AmbiRitardovalido =(n - 1) Then
If n = numericercati Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''trova per i 2 capogiochi i primi ambi ritardatari
If s = 2 And numericercati = 2 Then
Iniz = EstrazioneIni
Ini = finale
Primirit = " | "
For pj = 1 To 2
ReDim rita(90,2)
For n2 = 1 To 90
If Int(numeri(pj)) <> Int(n2) Then
nr(1) = numeri(pj) : nr(2) = n2
rt = RitardoCombinazioneTurbo(aruote,nr,s,finale,,,3950)
rita(n2,1) = FormattaStringa(rt,"0000")
rita(n2,2) = n2
End If
Next
Call OrdinaMatrice(rita,- 1,1)
For o = 1 To 6
If rita(o,1) <> "" Then
Primirit = Primirit & rita(o,1) & "-"
End If
Next
Primirit = Primirit & " |"
Next
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''calcola ritardo lunghetta
retrit = RitardoCombinazioneTurbo(aruote,numeri,s,finale,,,3950)
If retrit > Int(maxmax(numericercati)) Then
cz = cz + 1
comb(retrit,1) = FormattaStringa(retrit,"0000") & "...... ...." & StringaNumeri(numeri,".")
comb(retrit,2) = retrit
End If
numeri(n) = numeri(n) + 1
Else
fineciclo = 0
End If
Else
numeri(n) = numeri(n) + 1
fineciclo = 1
End If
Else
fineciclo = 0
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If fine = 0 Then Exit Do End If
Loop Until fineciclo = 0
Loop Until fine = 0
ColoreTesto(2)
Scrivi "Lunghette con ritardo minimo " & maxmax(numericercati) & " Sviluppate in classe = " & numericercati & " Per la sorte di.." & s,1
Scrivi "da rilevazione sulle Ruote .." & nomi & " " & finale & " / " & DataEstrazione(finale),1
ColoreTesto(1)
Scrivi "Nelle 10 ruote--unite dal 1945 ad oggi:"
Scrivi " 080 Estrazioni per 6 numeri. Registrato il 02/01/1971"
Scrivi " 103 Estrazioni per 5 numeri. Registrato il 02/01/1971"
Scrivi " 155 Estrazioni per 4 numeri. Registrato il 06/12/1969"
Scrivi " 288 Estrazioni per 3 numeri. Registrato il 14/12/2002"
Scrivi " 630 Estrazioni per 2 numeri. Registrato il 29/12/1984"
ColoreTesto(0)
If numericercati = 2 Then Scrivi "Ritardo Combinazione Lunghetta ",1
If numericercati <> 2 Then Scrivi "Ritardo Combinazione Lunghetta ",1
Call OrdinaMatrice(comb,- 1,2)
ColoreTesto(0)
If cz = 0 Then
Scrivi " NEssuna combinazione nel ritardo minimo di " & maxmax(numericercati),1
Else
For v = 1 To 30
Scrivi comb(v,1)
Next
End If
Scrivi:Scrivi:Scrivi "Totale Combinazioni...." & v - 1,1
ColoreTesto(2)
Scrivi "Tempo elaborazione.." & Inizio & " : " & TimeValue(Time),1
End Sub
 

lottoLuke

Banned
Per farvi capire.
Questo mi restituisce i 5 numeri più ritardati per ambo su 2 ruote. Cioè analizza tutte le coppie di ruote, e guarda quali numeri sono più in rit per ambo in entrambe.

Nella seconda immagine il risultato. Cioè nelle ruote di CA-TO ci sono questi 5 numeri in ritardo per ambo e questo è il ritardo massimo fra i vari ritardi in tutte le coppie di ruote.
usa lo script allegato del grande Beppignello o quello spettacolare di lottotom e risolvi alla grande
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 11 maggio 2024
    Bari
    71
    67
    47
    25
    88
    Cagliari
    24
    54
    06
    42
    02
    Firenze
    12
    33
    75
    30
    68
    Genova
    51
    70
    74
    37
    73
    Milano
    50
    81
    15
    25
    71
    Napoli
    58
    54
    43
    63
    52
    Palermo
    50
    80
    31
    04
    67
    Roma
    26
    57
    85
    89
    05
    Torino
    18
    07
    82
    14
    78
    Venezia
    54
    49
    86
    34
    28
    Nazionale
    51
    07
    24
    90
    75
    Estrazione Simbolotto
    Milano
    43
    23
    31
    10
    01

Ultimi Messaggi

Alto