Novità

Chiedo HELP a LuigiB

lotto_tom75

Advanced Premium Member
Luigi ho riscontrato una piccola incongruenza operativa che tuttavia mi sta facendo diventar matto :D tra alcuni particolari risultati del tuo SUBLIME PROGRAMMA spaziometria ed un mio programmuzzo realizzato alla bene e meglio in c++ :rolleyes: che calcola solo i ritardi per A di determinate lunghettone...

Piu' nel dettaglio...

ANALISI DETTAGLIATA INCONGRUENZA CALCOLO su TRE RUOTE UNITE TRA MIO PROGRAMMA E SPAZIOMETRIA (statistica veloce formazioni non registrate o anche su statistica formazioni su cui torna sempre lo stesso valore)

PER SINGOLE RUOTE c'e' esatta collimazione di tutti i valori esaminati ;) (e ne sono a dir poco ENTUSIASTA)

PER RUOTE UNITE NO.. (:(:rolleyes::))


es. prima lunghetta


BARI

1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88 rs: 13 ra: 0

CAGLIARI

1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88 rs: 17 ra: 5

FIRENZE


1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88 rs: 16 ra: 0


sia con mio programma che con spaziometria risultanto questi valori per le ruote separate...


se vado però ad analizzare in (statistica veloce formazioni non registrate o statistica formazioni)
come BACAFI unite e con mio programmuzzo ad analizzare l'archivio con tutte le estrazioni di queste tre ruote per la stessa lunghetta risultano valori differenti. Ad esempio (con lo stesso range di estrazioni esaminato dal 1/7/1939 al 29/12/2012)

con spaziometria risulta

1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88 rs: 4 ra: 0

e con mio programmino

1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88 rs: 13 ra: 0

Ho provato a fare la somma degli RS e dividere per 3 ma non torna 4...

Come potrei riuscire a far collimare questi valori tra i due programmi ovviamente mettendo mano solo al mio e facendolo convergere con il tuo modo di calcolare l'RS per le tre ruote unite?

Grazie infinite come sempre grandissimo :o




 
Ultima modifica:
vorresti insinuare che ci sia un errore ? :-) ..eheh guarda prova a vedere che valori ti da con gli script ...poi vedremo
 
vorresti insinuare che ci sia un errore ? :-) ..eheh guarda prova a vedere che valori ti da con gli script ...poi vedremo

Lungi da me tale eresia :D
Infatti sono convinto che semmai sia il mio programmuzzo a doversi adeguare al tuo sicuro calcolo. Però non saprei come fare...

A quali script ti riferisci per la controverifica? :)

E quali operazioni sugli RS svolgi in caso di ruote unite in quelle sezioni di calcolo quali statistiche formazioni registrate e statistiche formazioni veloce?

THANKS! :o
 
hhihi lo script per la controverifica lo deve fare una certa persona di mia conoscenza che non ho capito come sia possibile che sappia programmare in c e poi mi chiede a me lo script ... eheh :-) dai che è una cavolata immane sono 2 righe ..
 
hhihi lo script per la controverifica lo deve fare una certa persona di mia conoscenza che non ho capito come sia possibile che sappia programmare in c e poi mi chiede a me lo script ... eheh :-) dai che è una cavolata immane sono 2 righe ..

Sarà anche una cavolata immane come dici te :) ma io davvero non saprei da che parte cominciare con il tuo linguaggio. Magari! sapessi come fare sarei il lotto amatore programmatore neofita piu' felice al mondo penso :D. Invece purtroppo non riesco ad entrarci... Io bazzico un poco il linguaggio c++ da un annetto ca l'ho dovuto imparare... alla bene e meglio per velocizzare alcuni miei calcoli statistici che prima svolgevo in php. Tutto qui Maestro ;) Quindi a te la palla... e non mirare alle parti basse... :o
 
ciao Lottotom , vabbe comunque gli script sono 100 volte piu facili del c++ ... solo per quello dicevo.
Ad ogni modo lo scriptino conferma i risultati del programma ... non so tu che procedimento usi per calcolare i ritardi su piu ruote
intendo dire a livello logico , magari pensi di aver fatto una cosa ma nel codice magari ti succede qualcos'altro ...

Codice:
Option Explicit
Sub Main
	Dim Inizio,Fine
	Dim Rit,RitMax,Fre
	ReDim aN(0)
	ReDim aV(0)
	Call SplitByChar(",1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88",",",aV)
	ReDim aRuote(3)
	aRuote(1) = BA_
	aRuote(2) = CA_
	aRuote(3) = FI_
	Inizio = DataEstrToIdEstr(1,7,1939)'
	Fine = DataEstrToIdEstr(29,12,2012)
	Call StatisticaFormazione(aV,aRuote,2,Rit,RitMax,,Fre,Inizio,Fine)
	Call Scrivi("1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,6 2,73,75,79,80,83,84,85,87,88",True)
	Call Scrivi(" Ritardo : " & Rit)
	Call Scrivi(" RitMax  : " & RitMax)
	Call Scrivi(" Freq    : " & Fre)
	Call Scrivi
	Call Scrivi("Versione turbo")
	Call StatisticaFormazioneTurbo(aV,aRuote,2,Rit,RitMax,,Fre,Inizio,Fine)
	Call Scrivi("1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,6 2,73,75,79,80,83,84,85,87,88",True)
	Call Scrivi(" Ritardo : " & Rit)
	Call Scrivi(" RitMax  : " & RitMax)
	Call Scrivi(" Freq    : " & Fre)
End Sub
 
Ultima modifica di un moderatore:
credo che il mio errore consisti principalmente in questo...

credo che il mio errore consisti principalmente in questo...

ciao Lottotom , vabbe comunque gli script sono 100 volte piu facili del c++ ... solo per quello dicevo.
Ad ogni modo lo scriptino conferma i risultati del programma ... non so tu che procedimento usi per calcolare i ritardi su piu ruote
intendo dire a livello logico , magari pensi di aver fatto una cosa ma nel codice magari ti succede qualcos'altro ...

Codice:
Option Explicit
Sub Main
    Dim Inizio,Fine
    Dim Rit,RitMax,Fre
    ReDim aN(0)
    ReDim aV(0)
    Call SplitByChar(",1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,62,73,75,79,80,83,84,85,87,88",",",aV)
    ReDim aRuote(3)
    aRuote(1) = BA_
    aRuote(2) = CA_
    aRuote(3) = FI_
    Inizio = DataEstrToIdEstr(1,7,1939)'
    Fine = DataEstrToIdEstr(29,12,2012)
    Call StatisticaFormazione(aV,aRuote,2,Rit,RitMax,,Fre,Inizio,Fine)
    Call Scrivi("1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,6 2,73,75,79,80,83,84,85,87,88",True)
    Call Scrivi(" Ritardo : " & Rit)
    Call Scrivi(" RitMax  : " & RitMax)
    Call Scrivi(" Freq    : " & Fre)
    Call Scrivi
    Call Scrivi("Versione turbo")
    Call StatisticaFormazioneTurbo(aV,aRuote,2,Rit,RitMax,,Fre,Inizio,Fine)
    Call Scrivi("1,7,11,15,16,17,21,22,24,27,30,37,38,39,50,59,60,6 2,73,75,79,80,83,84,85,87,88",True)
    Call Scrivi(" Ritardo : " & Rit)
    Call Scrivi(" RitMax  : " & RitMax)
    Call Scrivi(" Freq    : " & Fre)
End Sub

Contando dal 7/1/1939 delle tre ruote analizzate (BACAFI) ci sono soltanto BARI e FIRENZE * e quindi questo piccolo "GAP" mi fa saltare tutti i conti...

*
CAGLIARI subentra infatti qualche mese più tardi in questa data:

1939/07/08 BA 23 46 2 59 1
1939/07/08 CA 52 62 77 49 87
1939/07/08 FI 17 49 67 27 6

Come hai ovviato a questo problema?

Grazie infinite e buon week end Luigi! :)
 
Ultima modifica:
nel mio algoritmo le estrazioni vengono lette in un array che contiene i numeri delle ruote , quindi se i numeri nelle ruote non ci
sono semplicemente c'è scritto 0 , la procedura che calcola i ritardi analizza l'array delle estrazioni e si fa i suoi conti ,le estrazioni con numeri a 0 non creano nessun problema , si deve solo tenere presente che se nessuna delle ruote coinvolte in quella estrazione
contiene numeri allora in quel caso il ritardo non si deve incrementare proprio perche in quella data non sono usciti numeri non che non sono usciti quelli che volevamo , per ose almeno una delle ruote coinvolte contiene numerio validi allora il ritardo ovviamente si conteggia.
 
Ultima modifica di un moderatore:
nel mio algoritmo le estrazioni vengono lette in un array che contiene i numeri delle ruote , quindi se i numeri nelle ruote non ci
sono semplicemente c'è scritto 0 , la procedura che calcola i ritardi analizza l'array delle estrazioni e si fa i suoi conti ,le estrazioni con numeri a 0 non creano nessun problema , si deve solo tenere presente che se nessuna delle ruote coinvolte in quella estrazione
contiene numeri allora in quel caso il ritardo non si deve incrementare proprio perche in quella data non sono usciti numeri non che non sono usciti quelli che volevamo , per ose almeno una delle ruote coinvolte contiene numerio validi allora il ritardo ovviamente si conteggia.

Ok grazie. Il tuo modo di procedere non fa una piega :)
Io invece mi sono accorto che il mio prg non funziona per le 3 ruote unite
nemmeno se parto dalla data in cui ci sono tutte e tre il 1939/07/08 :rolleyes:

Grazie comunque ciao! ;)
 
Ultima modifica:
di nulla , il mio consiglio è di fare tabula rasa e di implementare tutto daccapo ... io quando mi intreccio e non trovo piu il bandolo della matassa faccio cosi anche perche quando capita voleva dire che non avevo ragionato bene percio tanto vale rifare daccapo.
ciao
 
di nulla , il mio consiglio è di fare tabula rasa e di implementare tutto daccapo ... io quando mi intreccio e non trovo piu il bandolo della matassa faccio cosi anche perche quando capita voleva dire che non avevo ragionato bene percio tanto vale rifare daccapo.
ciao

Un ultimissima cosa LuigiB

Tu gli RS finali come li calcoli?

Es. dalla tua sezione Statistica veloce formazioni non registrate mi risulta
dal 1939/07/08 al 29/12/2012:

come ruote separate:

04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90;BA;Ambo;RA0;RS11;

04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90;CA;Ambo;RA1;RS14;

04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90;FI;Ambo;RA8;RS10;

come ruote unite:

04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90;BA-CA-FI;Ambo;RA0;RS4;



Quale calcolo ti porta a dire che per le tre ruote unite l'RS è 4?


Se mi dici questo proverò a partire da questo punto per cercare di risolvere altrimenti pazienza prima o poi mi verrà la soluzione...

Grazie comunque e alla prox Grandissimo :o
 
ciao LottoTom , ti rispondo con uno script dove praticamente ho scritto la funzione che fa il calcolo dei ritardi ,cioè non ho usato funzioni interne degli script per fare il calcolo e quindi puoi chiaramente vedere come si fa..
Ti basta fare il porting della funzione in c e hai risolto .. non credo che avrai difficolta a capire un paio di cicli for ...

Codice:
Option Explicit
Sub Main
	ReDim aBRuote(11) ' Array flag delle ruote in gioco (ricordare che in questo script la nazionale è la 11non la 12)
	ReDim aBNumInGioco(90) ' array dei flag dei numeri in gioco
	Dim sNumeri ' contiene i numeri in gioco
	Dim k,Inizio,Fine,RetRitardo,RetRitardoMax
	sNumeri = "04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90"
	' preparo l'array dei flag dei numeri in gioco
	' l'array ha 90 elementi che corrispondono ai 90 numeri se l'elemento è True il numero è in gioco
	ReDim aV(0)
	Call SplitByChar(sNumeri,"-",aV)
	For k = 0 To UBound(aV)
		aBNumInGioco(Int(aV(k))) = True
	Next
	'------------------------------------------------------------------------------------------------
	'Valorizzo l'array dei flag delle ruote in gioco
	aBRuote(BA_) = True
	aBRuote(CA_) = True
	aBRuote(FI_) = True
	'Imposto i limiti in base alle date
	Inizio = DataEstrToIdEstr(8,7,1939)'
	Fine = DataEstrToIdEstr(29,12,2012)
	' lancio la funzione che calcola ir ritardi
	Call CalcolaValoriStat(aBNumInGioco,aBRuote,2,Inizio,Fine,RetRitardo,RetRitardoMax)
	'mostro i risultati
	Call Scrivi(sNumeri,True)
	Call Scrivi(" Ritardo : " & RetRitardo)
	Call Scrivi(" RitMax  : " & RetRitardoMax)
End Sub
Sub CalcolaValoriStat(aBNumInGioco,aBRuote,Sorte,Inizio,Fine,RetRitardo,RetRitardoMax)
	Dim idEst,r,e
	Dim Punti,PuntiMax
	Dim bEstrazioneValida
	Dim Ritardo,RitardoMax
	For idEst = Inizio To Fine ' ciclo delle estrazioni analaizzate
		ReDim aEstrazione(11,5) ' preparo un aqrray nel quale leggo l'estrazione
		Call GetEstrazioneCompleta(idEst,aEstrazione)' leggo l'estrazione
		PuntiMax = 0 ' azzero la variabile che mantiene i punti max realizzati sull'estrazione coorente
		bEstrazioneValida = False ' per default l'estrazione non è valida (lo sara se contiene numeri)
		For r = 1 To 11 ' ciclo che analizza le 11 ruote
			If aBRuote(r) Then ' se la ruota è flaggata la analizzo
				If aEstrazione(r,1) > 0 Then ' qui si verifica che la ruota abbia numeri validi
					bEstrazioneValida = True ' è assodato che l'estrazione ha numeri validi
					Punti = 0 ' azzero i punti su ruota priima di calcolarli
					For e = 1 To 5 ' ciclo delle 5 posizioni della ruota
						If aBNumInGioco(aEstrazione(r,e)) Then ' se l'array dei numeri in gioco ha true il tale numero
							Punti = Punti + 1 ' allora i punti sulla ruota corrente si incrementano
						End If
					Next
					' al termine del ciclo sugli estratti della ruota corrente
					' si valuta se i punti realizzati sono superiori al punteggio massimo gia realizzato
					'( ricordiamo infatti che la funzione analizza le ruote insieme)
					If Punti > PuntiMax Then
						PuntiMax = Punti ' eventualmente s aggiorna il punteggio massimo
					End If
				End If
			End If
		Next
		If bEstrazioneValida Then' se dop aver analizzato l'estrazione con le ruote coinvolte vediamo che l'estrazione era  valida
			If PuntiMax >= Sorte Then ' andiamo a vedere se il punteggio realizzato è maggiore o uguale alla sorte che volevamo
				' se si il ritardo ovviamente si azzera
				Ritardo = 0
			Else
				' senno il ritardo si incrementa
				Ritardo = Ritardo + 1
				If Ritardo > RitardoMax Then 'dobbiamo vedere se il ritardo ha superato il ritardo max
					RitardoMax = Ritardo ' nel caso lo aggiorniamo
				End If
			End If
		End If
	Next
	' al termine la funzione torna i risultati che ha conteggiato
	RetRitardo = Ritardo
	RetRitardoMax = RitardoMax
End Sub
 
ciao LottoTom , ti rispondo con uno script dove praticamente ho scritto la funzione che fa il calcolo dei ritardi ,cioè non ho usato funzioni interne degli script per fare il calcolo e quindi puoi chiaramente vedere come si fa..
Ti basta fare il porting della funzione in c e hai risolto .. non credo che avrai difficolta a capire un paio di cicli for ...

Codice:
Option Explicit
Sub Main
    ReDim aBRuote(11) ' Array flag delle ruote in gioco (ricordare che in questo script la nazionale è la 11non la 12)
    ReDim aBNumInGioco(90) ' array dei flag dei numeri in gioco
    Dim sNumeri ' contiene i numeri in gioco
    Dim k,Inizio,Fine,RetRitardo,RetRitardoMax
    sNumeri = "04-07-10-13-14-21-22-26-27-29-30-33-39-40-42-49-55-62-65-66-68-71-75-76-85-88-90"
    ' preparo l'array dei flag dei numeri in gioco
    ' l'array ha 90 elementi che corrispondono ai 90 numeri se l'elemento è True il numero è in gioco
    ReDim aV(0)
    Call SplitByChar(sNumeri,"-",aV)
    For k = 0 To UBound(aV)
        aBNumInGioco(Int(aV(k))) = True
    Next
    '------------------------------------------------------------------------------------------------
    'Valorizzo l'array dei flag delle ruote in gioco
    aBRuote(BA_) = True
    aBRuote(CA_) = True
    aBRuote(FI_) = True
    'Imposto i limiti in base alle date
    Inizio = DataEstrToIdEstr(8,7,1939)'
    Fine = DataEstrToIdEstr(29,12,2012)
    ' lancio la funzione che calcola ir ritardi
    Call CalcolaValoriStat(aBNumInGioco,aBRuote,2,Inizio,Fine,RetRitardo,RetRitardoMax)
    'mostro i risultati
    Call Scrivi(sNumeri,True)
    Call Scrivi(" Ritardo : " & RetRitardo)
    Call Scrivi(" RitMax  : " & RetRitardoMax)
End Sub
Sub CalcolaValoriStat(aBNumInGioco,aBRuote,Sorte,Inizio,Fine,RetRitardo,RetRitardoMax)
    Dim idEst,r,e
    Dim Punti,PuntiMax
    Dim bEstrazioneValida
    Dim Ritardo,RitardoMax
    For idEst = Inizio To Fine ' ciclo delle estrazioni analaizzate
        ReDim aEstrazione(11,5) ' preparo un aqrray nel quale leggo l'estrazione
        Call GetEstrazioneCompleta(idEst,aEstrazione)' leggo l'estrazione
        PuntiMax = 0 ' azzero la variabile che mantiene i punti max realizzati sull'estrazione coorente
        bEstrazioneValida = False ' per default l'estrazione non è valida (lo sara se contiene numeri)
        For r = 1 To 11 ' ciclo che analizza le 11 ruote
            If aBRuote(r) Then ' se la ruota è flaggata la analizzo
                If aEstrazione(r,1) > 0 Then ' qui si verifica che la ruota abbia numeri validi
                    bEstrazioneValida = True ' è assodato che l'estrazione ha numeri validi
                    Punti = 0 ' azzero i punti su ruota priima di calcolarli
                    For e = 1 To 5 ' ciclo delle 5 posizioni della ruota
                        If aBNumInGioco(aEstrazione(r,e)) Then ' se l'array dei numeri in gioco ha true il tale numero
                            Punti = Punti + 1 ' allora i punti sulla ruota corrente si incrementano
                        End If
                    Next
                    ' al termine del ciclo sugli estratti della ruota corrente
                    ' si valuta se i punti realizzati sono superiori al punteggio massimo gia realizzato
                    '( ricordiamo infatti che la funzione analizza le ruote insieme)
                    If Punti > PuntiMax Then
                        PuntiMax = Punti ' eventualmente s aggiorna il punteggio massimo
                    End If
                End If
            End If
        Next
        If bEstrazioneValida Then' se dop aver analizzato l'estrazione con le ruote coinvolte vediamo che l'estrazione era  valida
            If PuntiMax >= Sorte Then ' andiamo a vedere se il punteggio realizzato è maggiore o uguale alla sorte che volevamo
                ' se si il ritardo ovviamente si azzera
                Ritardo = 0
            Else
                ' senno il ritardo si incrementa
                Ritardo = Ritardo + 1
                If Ritardo > RitardoMax Then 'dobbiamo vedere se il ritardo ha superato il ritardo max
                    RitardoMax = Ritardo ' nel caso lo aggiorniamo
                End If
            End If
        End If
    Next
    ' al termine la funzione torna i risultati che ha conteggiato
    RetRitardo = Ritardo
    RetRitardoMax = RitardoMax
End Sub

Grazie infinite LuigiB.

Ora me lo studio bene e chissà che non
decida di mettermi a studiare a fondo
anche i tuoi script e come nascono
dalla base. Imparassi qualcosa sarei
no felice... di +! :D

Grazie di cuore per tutta la tua Opera.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35

Ultimi Messaggi

Indietro
Alto