Novità

indice non incluso nell' intervallo prnu

genios

Advanced Member >PLATINUM<
chi riesce a correggere l' Errore : indice non incluso nell' intervallo prnu

Codice:
Sub Main()
   Scrivi " NUMERI CHE SI PRESENTANO ENTRO 9 ESTRAZIONI DALL' USCITA DELLA SPIA"
   Dim nu(1)
   Dim ru(1)
   Dim prnu(90,2)
   Dim rig1(90)
   Dim rig2(90)
   Dim fin,r,y,spia
   fin = EstrazioneFin
   r = InputBox("SU' CHE RUOTA FACCIO LA RICERCA",,10)
   ColoreTesto 2
   Scrivi "Ricerca sulla ruota di " & NomeRuota(r) & " relativa alle " & _
   "ultime 18 sortite della spia e alle 15 "
   Scrivi "maggiori presenze in un periodo di 9 estr. successive" & _
   " alla spiata" & String(18," ") & "Robyca"
   ColoreTesto 0
   Scrivi String(89,"*")
   Scrivi
   ru(1) = r
   For spia = 1 To 90
      Messaggio "NUMERO SPIA " & spia
      For x = 0 To 2000
         es =(fin - x) - 9
         If Posizione(es,r,spia) > 0 Then
            cs = cs + 1
            For y = 1 To 90
               nu(1) = y
               If SerieFreq(es + 1,es + 9,nu,ru,1) > 0 Then
                  prnu(y,1) = y
                  prnu(y,2) = prnu(y,2) + 1
               End If
            Next
            If cs = 18 Then
               cs1 = x
               Exit For
            End If
         End If
      Next
      OrdinaMatrice prnu,1,2
      For j = 1 To 90
         rig1(spia) = rig1(spia) + FormatSpace(prnu(j,1),3,True)
         rig2(spia) = rig2(spia) + FormatSpace(prnu(j,2),3,True)
      Next
      ColoreTesto 2
      Scrivi NomeRuota(r) & " N. spia: " & spia & " sortito " & _
      cs & " volte in " & cs1 & " estr."
      ColoreTesto 0
      Scrivi rig1(spia)
      ColoreTesto 1
      Scrivi rig2(spia)
      Scrivi
      cs = 0
      Erase prnu
   Next
End Sub
 
Codice:
Sub Main()
     Scrivi " NUMERI CHE SI PRESENTANO ENTRO 9 ESTRAZIONI DALL' USCITA DELLA SPIA"
     Dim nu(1)
     Dim ru(1)
    'Dim prnu(90,2)
     Dim rig1(90)
     Dim rig2(90)
     Dim fin,r,y,spia,es,cs,cs1
     fin = EstrazioneFin
     r = InputBox("SU' CHE RUOTA FACCIO LA RICERCA",,10)
     ColoreTesto 2
     Scrivi "Ricerca sulla ruota di " & NomeRuota(r) & " relativa alle " & _
     "ultime 18 sortite della spia e alle 15 "
     Scrivi "maggiori presenze in un periodo di 9 estr. successive" & _
     " alla spiata" & String(18," ") & "Robyca"
     ColoreTesto 0
     Scrivi String(89,"*")
     Scrivi
     ru(1) = r
     For spia = 1 To 90
     ReDim prnu(90,2)
          cs= 0
          Messaggio "NUMERO SPIA " & spia
          For x = 0 To 2000
               es =(fin - x) - 9
               If Posizione(es,r,spia) > 0 Then
                    cs = cs + 1
                    For y = 1 To 90
                         nu(1) = y
                         If SerieFreq(es + 1,es + 9,nu,ru,1) > 0 Then
                              prnu(y,1) = y
                              prnu(y,2) = prnu(y,2) + 1
                         End If
                    Next
                    If cs = 18 Then
                         cs1 = x
                         Exit For
                    End If
               End If
          Next
          OrdinaMatrice prnu,-1,2
          For j = 1 To 90
               rig1(spia) = rig1(spia) + FormatSpace(prnu(j,1),3,True)
               rig2(spia) = rig2(spia) + FormatSpace(prnu(j,2),3,True)
          Next
          ColoreTesto 2
          Scrivi NomeRuota(r) & " N. spia: " & spia & " sortito " & _
          cs & " volte in " & cs1 & " estr."
          ColoreTesto 0
          Scrivi rig1(spia)
          ColoreTesto 1
          Scrivi rig2(spia)
          Scrivi
          Erase prnu
     Next
End Sub
 
Riuscite a correggere l' errore . Ciao Euigenio

errore1.jpg
Codice:
Sub Main()
'0903_22a Rosanna x Genios matrici 5 storici

'Analizzare tutti i 3060 gruppi di 4 cinquine di num consecutivi
'Ricercare i max rit storici su ciascuna ruota
'Visualizzare i ritardi dei gruppi più 'attualmente' più in ritardo x ciascuna ruota,
' (con il dettaglio del gruppo e il suo max storico registrato a ruota)

ini = 3950 'inizio calcolo ritardi
fin = EstrazioneFin' fine calcolo dei ritardi e dei max storici

If fin < 7440 Then ruote = 10 Else ruote = 11

Dim Base(5,86) ' contiene le 86 cinquine di numeri consecutivi
Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota
Dim penta(5) ' vettore per il calcolo del rit di ciascuna CINQUINA_
Dim temp(18,2) ' vettore in cui memorizzo ritardo e colonna di ogni CINQUINA di ogni ruota per max temporaneo
Dim temp1(4) ' serve a comporre i gruppi di 4 cinquine consecutive
Dim temp2(4) ' serve a caricare i rit parziali (di ogni ciqnuina) per rilevare il rit minimo del gruppo
Dim num(5,4) ' contiene una singola matrice - serve a calcolare ritardi e storici
Dim gruppi(3060,5,4) ' contiene tutti i gruppi di 4 cinquine di numeri consecutivi
Dim ru(1) ' ruota di riferimento per i ritardi e storici
Dim max(12,2) ' vettore con i massimi ritardi : RitAttuali indici gruppi
Dim sto(12,5) ' vettore degli storici: Sto - 4 Colonne delle cinquine del gruppo col max sto

Messaggio "Elaborazione in corso - Attendere "
'----------------------preparo la matrice base con le 18 cinquine consecutive
For i = 1 To 86 Step 5
   c = c + 1 : Base(1,c) = i
   For y = 2 To 5 : Base(y,c) = Base(y - 1,c) + 1 : Next   
Next
   ColoreTesto 2:
   Scrivi Space(4) & "BASE DATI ",1
   ScriviMatrice Base : ColoreTesto 0' per vedere le cinquine
'--------------------- Calcolo dei max storici
For es = ini + 1 To fin
   'Messaggio es ' <== per vedere l'esecuzione del listato ma rallenta l'esecuzione!   
   For i = 1 To 18 ' in questo blocco calcola/memorizza il rit di ogni cinquina
      For y = 1 To 5 : penta(Y) = Base(y,i) : Next   
      For r = 1 To ruote :If r = 11 Then r = 12
         ru(1) = r
         baserit(r,i) = SerieRitardo(ini,es,penta,ru,2)     
      Next
   Next
   'ColoreTesto 1 : ScriviMatrice baserit : ColoreTesto 0 ' verifica

   For r = 1 To ruote :If r = 11 Then r = 12
      For i = 1 To 18
         temp(i,1) = baserit(r,i) ' carico il ritardo della cinquina
         temp(i,2) = i ' carico la colonna - riferimento della cinquina     
      Next
      OrdinaMatrice temp,- 1,1
      If temp(4,1) > sto(r,1) Then
         sto(r,1) = temp(4,1) ' il 4° valore in classifica è il minimo dei massimi Rit cioè il rit del gruppo
         'For i= 1 To 4
         '   sto(r,i+1)=temp(i,2) 'memorizzo le colonne delle cinquine (casomai dovessi dire qual'è il gruppo)
         'Next
      End If
   Next
Next
'NB: al termine del precedente blocco di istruzioni, su baserit restano i ritardi a "fin"
'------------------------- procedura per la creazione di tutti i gruppi e il rit attuale
For a1 = 1 To 15
   For a2 = a1 + 1 To 16
      For a3 = a2 + 1 To 17
         For a4 = a3 + 1 To 18
            co = co + 1
            temp1(1) = a1 : temp1(2) = a2 : temp1(3) = a3 : temp1(4) = a4 'gestisco lo sviluppo dei gruppi
            '------------------------------------
            For y = 1 To 5 'righe
               For i = 1 To 4 ' colonne               
                  gruppi(co,y,i) = Base(y,temp1(i)) 'memorizzo i dati sulla maxi-matrice gruppi
               Next           
            Next
            '-----------------------------------
            For r = 1 To ruote :If r = 11 Then r = 12
               ru(1) = r
               For i = 1 To 4 : temp2(i) = baserit(r,temp1(i)) : Next
               k1 = MinimoV(temp2)   ' il valore minimo tra i 4 ritardi è il rit del gruppo         
               If k1 = max(r,1) Then max(r,2) = max(r,2) & "." & co ' in caso di pari ritardo memorizzo il gruppo
               If k1 > max(r,1) Then max(r,1) = k1: max(r,2) = co ' aggiorno il max e memor il gruppo               
            Next                 
         Next
      Next
   Next
Next
'----------------------Output finale

Scrivi " RIEPILOGO DEI GRUPPI DI 4 CINQUINE DI NUMERI CONSECUTIVI CON MAGGIOR RITARDO ALL'ES " & FIN,1
Scrivi " (StoGen = max sto raggiunto da un qualsiasi gruppo dei 3060 disponibili)"
Scrivi " (RitAtt = Ritardo del/i gruppo/i  attualmente più in ritardo Tra i 3060 disponibili)"
Scrivi " (Id_gruppo/i = Codice identificativo dei gruppi attualmente più in ritardo)" & Chr(10)

Scrivi " Ru - StoGen - R.Att - Id_gruppo/i ",1

For r = 1 To ruote : If r = 11 Then r = 12
   ColoreTesto 1
   Scrivi " " & SiglaRuota(r) & Space(2) & FormatSpace(sto(r,1),4,1) & Space(6) & max(r,1) & Space(7) & max(r,2)
   ColoreTesto 0
Next
Scrivi : Scrivi "Segue dettaglio dei gruppi più in ritardo (nb: leggere le cinquine in colonna)" & Chr(10),1
For r = 1 To ruote: If r = 11 Then r = 12
   ru(1) = r
   a = "0." & max(r,2)
   aa = Split(a,".")   
   For g = 1 To UBound(aa) ' scorro il vettore che contiene gli indici splittati
      x = aa(g) ' memorizzo l'indice e tramite questo pesco il gruppo di 4 cinquine col max rit attuale

      For y = 1 To 5 ' righe
         For i = 1 To 4 ' colonne           
            num(y,i) = gruppi(x,y,i)
         Next
      Next
      k2 = SerieStorico(ini,fin,num,ru,2) ' calcolo lo storico del gruppo su quella ruota
      Scrivi SiglaRuota(r) & " Gruppo " & x & " (il suo max sto su " & SiglaRuota(r) & " => " & k2 & ")",1
      Scrivi Space(10) & ScriviMatrice(num)
      Scrivi String(67,"-")
   Next   
Next
End Sub
 

Allegati

  • errore1.jpg
    errore1.jpg
    7,9 KB · Visite: 7
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto