Novità

primo step programmatori

genios

Advanced Member >PLATINUM PLUS<
Lo script in questione calcola gli ultimi ritardi del numero 90 su una data ruota a scelta . Vorrei che i ritardi trovati vengano scritti anziché in out in una matrice .Naturalmente la matrice dovrà essere una matrice dinamica per il motivo che non sappiamo quanti ritardi troveremo . Come fare ?

Codice:
Sub Main()
   '===========ricerca di un AMBO_ ruota di milano==========
   Dim ru,ruota,n1
   n1 = 90
   ruota = InputBox("Inserisci il numero della ruota ")
   ru = ruota ' RUOTA DI RICERCA
   fin = EstrazioneFin
   ini = 9500
   rit = - 1
   For es = fin To ini Step - 1 ' scorri all'indietro l'archivio
      rit = rit + 1' ad ogni estrazione incrementa di uno il ritardo
      ' se tra gli estratti trovi il n1
      If n1 = Estratto(es,ru,1)Or n1 = Estratto(es,ru,2) Or n1 = Estratto(es,ru,3) Or n1 = Estratto(es,ru,4)Or n1 = Estratto(es,ru,5) Then
         Scrivi(rit)
         rit = 0
      End If
   Next
End Sub
 
i legend ho dato uno sguardo non ho capito molto potresti farmi un esempio ?

grazie Ciao Eugenio
 
Eugenio non ho il pc con me.
Ci sono esempi nei test
Dim aN(1)
An(1)= 1
Redim aRit(0),aIdEstr(0)
Dim aR(1)
Ar(1)=1
Dim ini,fin
Ini=estrazioneFin-499
Fin=estrazioneFIN
Call elencoRitarditurbo( QUI METTI I PARAMETRI)
non ricordo l ordine
Dim i
For i =1 ti ubound (aRit)
Scrivi aRit(i)&" "&aidestr(i)
Next
Dovrebbe restituire gli ultimi ritardi delle ultime 500 estrazioni dell 1 su bari
Guarda bene perché a memoria potrei sbagliare.
Questo è tutto l aiuto che riesco a darti.
Ciao :)
 
Se scrivi la funzione con i parametri interni è fatta.
Postarla qui se non riesci, non ricordo l ordine
Ma hai inizio fine ruota numero e gli array che raccolgono i dati se manca qualcosa la ricaviamo.
 
Ho fatto vari tentativi mi da errore .
Codice:
Option Explicit
Sub Main
   Dim aN(1)
   aN(1) = 1
   ReDim aRit(0),aIdEstr(0)
   Dim aR(1)
   aR(1) = 1
   Dim ini,fin
   ini = EstrazioneFin - 499
   fin = EstrazioneFin
   Call ElencoRitardiTurbo(aN,aR,1,ini,fin,,aRit) '( QUI METTI i PARAMETRI)
   'non ricordo l ordine
   Dim i
   For i = 1 To UBound(aR)
      Scrivi aRit(i) & " " & aIdEstr(i)
   Next
End Sub

Parametri

aNumeriVettore contenente i numeri
aRtArray contenente le ruote su cui va eseguita l'analisi (le ruote vengono considerate unite)
SorteValore numerico che identifica la sorte (o la classe)
InizioRange inizio
FineRange Fine
aRetRitardiTorna un vettore contenente i ritardi parte dall'indice 1
aRetIdEStrTorna un vettore contenente gli id delle estrazioni alle quali corrisponde il ritardo presente nel vettore aRetRitardi
Optional idArchivio = 0Identificativo dell'archivio da usare
 
For i = 1 To UBound(aRit) ho cambiato la variabile aRit con la variabile aRi perche mi restituiva solo un valore .


Option Explicit
Sub Main
Dim aN(1)
aN(1) = 1
ReDim aRit(0),aIdEstr(0)
Dim aR(1)
aR(1) = 1
Dim ini,fin
ini = EstrazioneFin - 499
fin = EstrazioneFin
Call ElencoRitardiTurbo(aN,aR,1,ini,fin,aRit,aIdEstr) '( QUI METTI i PARAMETRI)
'non ricordo l ordine
Dim i
For i = 1 To UBound(aRit)
Scrivi aRit(i) & " " & aIdEstr(i)
Next
End Sub

quindi ora tutti i valori di ciascun ritardo sono memorizzati nella variabile aRit ?
 
For i = 1 To UBound(aRit) ho cambiato la variabile aRit con la variabile aRi perche mi restituiva solo un valore .


Option Explicit
Sub Main
Dim aN(1)
aN(1) = 1
ReDim aRit(0),aIdEstr(0)
Dim aR(1)
aR(1) = 1
Dim ini,fin
ini = EstrazioneFin - 499
fin = EstrazioneFin
Call ElencoRitardiTurbo(aN,aR,1,ini,fin,aRit,aIdEstr) '( QUI METTI i PARAMETRI)
'non ricordo l ordine
Dim i
For i = 1 To UBound(aRit)
Scrivi aRit(i) & " " & aIdEstr(i)
Next
End Sub

quindi ora tutti i valori di ciascun ritardo sono memorizzati nella variabile aRit ?
Non esiste la variabile aRi
Non so se lo script funzioni , non lo posso testare senza pc.
Se funziona nel vettore aRit sono elencati gli ultimi ritardi del numero nel range estrazioni da te scelto.
Su statistica formazioneveloce se adegui il range ,la ruota e il numero ti compaiono i ritardi e li può confrontare. Se non coincidono c e un errore.
Ciao ora ho un impegno. A domani :)
 
questo restituisce un solo valore

Questo il tuo script
Option Explicit
Sub Main
Dim aN(1)
aN(1) = 1
ReDim aRit(0),aIdEstr(0)
Dim aR(1)
aR(1) = 1
Dim ini,fin
ini = EstrazioneFin - 499
fin = EstrazioneFin
Call ElencoRitardiTurbo(aN,aR,1,ini,fin,,aRit) '( QUI METTI i PARAMETRI)
'non ricordo l ordine
Dim i
For i = 1 To UBound(aR)
Scrivi aRit(i) & " " & aIdEstr(i)
Next
End Sub

questo dove ho modificato la variabile aR con aRit questo funziona

Option Explicit
Sub Main
Dim aN(1)
aN(1) = 1
ReDim aRit(0),aIdEstr(0)
Dim aR(1)
aR(1) = 1
Dim ini,fin
ini = EstrazioneFin - 499
fin = EstrazioneFin
Call ElencoRitardiTurbo(aN,aR,1,ini,fin,aRit,aIdEstr) '( QUI METTI i PARAMETRI)
'non ricordo l ordine
Dim i
For i = 1 To UBound(aRit)
Scrivi aRit(i) & " " & aIdEstr(i)
Next
End Sub

ora al di la dei ritardi che abbiamo in out gli stessi sono memorizzati nella variabile aRit(i) ?
 
Eugenio non ho il pc con me.
Ci sono esempi nei test
Dim aN(1)
An(1)= 1
Redim aRit(0),aIdEstr(0)
Dim aR(1)
Ar(1)=1
Dim ini,fin
Ini=estrazioneFin-499
Fin=estrazioneFIN
Call elencoRitarditurbo( QUI METTI I PARAMETRI)
non ricordo l ordine
Dim i
For i =1 ti ubound (aRit)
Scrivi aRit(i)&" "&aidestr(i)
Next
Dovrebbe restituire gli ultimi ritardi delle ultime 500 estrazioni dell 1 su bari
Guarda bene perché a memoria potrei sbagliare.
Questo è tutto l aiuto che riesco a darti.
Ciao :)
Eugenio come dicevo non ricordavo l ordine dei parametri , a parte il ti al posto del to correzione automatica del cell il ciclo è fatto su aRit
Vai al post originale .
Ho fatto vari tentativi mi da errore .
Codice:
Option Explicit
Sub Main
   Dim aN(1)
   aN(1) = 1
   ReDim aRit(0),aIdEstr(0)
   Dim aR(1)
   aR(1) = 1
   Dim ini,fin
   ini = EstrazioneFin - 499
   fin = EstrazioneFin
   Call ElencoRitardiTurbo(aN,aR,1,ini,fin,,aRit) '( QUI METTI i PARAMETRI)
   'non ricordo l ordine
   Dim i
   For i = 1 To UBound(aR)
      Scrivi aRit(i) & " " & aIdEstr(i)
   Next
End Sub

Parametri

aNumeriVettore contenente i numeri
aRtArray contenente le ruote su cui va eseguita l'analisi (le ruote vengono considerate unite)
SorteValore numerico che identifica la sorte (o la classe)
InizioRange inizio
FineRange Fine
aRetRitardiTorna un vettore contenente i ritardi parte dall'indice 1
aRetIdEStrTorna un vettore contenente gli id delle estrazioni alle quali corrisponde il ritardo presente nel vettore aRetRitardi
Optional idArchivio = 0Identificativo dell'archivio da usare
La variabile aR l hai scritta tu.
Ma a prescindere dagli errori di battitura ,spero di esserti stato utile. Ciao
 
Si mi sei stato utile ma sono al punto di partenza del POST #1 i valori dei ritardi trovati vanno messi in una matrice per poi essere manipolati .
 
ma forse gia cè la matrice è forse questa aRit(i) ed il numero indice inizia da 1 come da help di spaziometria.
 
Ci sono arrivato l' array è aRit(i) ora come faccio per leggerlo in modo che in out abbia il

aRit(1) aRit(2) aRit(3)

aRit(2) aRit(3) aRit(4)
aRit(3) aRit(4) aRit(5)

aRit(4) aRit(5) aRit(6)
aRit(5) aRit(6) aRit(7) e cosi via fino ad UBound(aRit)

immagino con dei cicli for sulla variabile i


Questi sono i ritardi sulla ruota di BA in un certo intervallo di estrazioni del n-1.JPG
 
Con i tre cicli for sull array aRit mi da errore variabile di controllo del ciclo for non valida

Codice:
Option Explicit
Sub Main
   Dim aN(1)
   aN(1) = 1
   ReDim aRit(0),aIdEstr(0)
   Dim aR(1)
   aR(1) = 1
   Dim ini,fin
   ini = EstrazioneFin - 499
   fin = EstrazioneFin
   Call ElencoRitardiTurbo(aN,aR,1,ini,fin,aRit,aIdEstr) '( QUI METTI i PARAMETRI)
   'non ricordo l ordine
   Dim i
   For i = 1 To UBound(aRit)
      For i = 2 To UBound(aRit)
         For i = 3 To UBound(aRit)
            Scrivi aRit(i) '& " " & aIdEstr(i)
         Next
      Next
   Next
End Sub
 
Ciao genios,
se non ricordo male, nei cicli annidati, e' il ciclo piu' interno che viene "risolto" per primo, ergo l' array aRit e' gia' arrivato "diciamo" a fine corsa e pertanto da' errore.
Ciao
 
For i =1 ti ubound (arit) -2
For j = i+1 to ubound( arit)-1
For x = j+1 ti ubound ( arit)
Scrivi il tuo codice
Next '×
Next ' j
Next ' i
Ciao :)
 
Eugenio ...

... facendo così, ci sono voluti una ventina di messaggi

per non sapere (ancora) cosa si deve fare.

Se tu descrivessi il progetto ... sarebbe meglio.

E' evidente che se intendi fare un qualcosa ... e non si sa cosa sia,

risulta particolarmente difficile scrivere un algoritmo in grado di

elaborare quel "qualcosa" sconosciuto.

:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39

Ultimi Messaggi

Indietro
Alto