Novità

Ricerca Frequente Migliore

Xeroxs

Advanced Member >PLATINUM<
Ciao, ho capito che ho sbagliato a metterlo nel ciclo estrazioni e modificandolo avevo errori ci al momento lo avevo lasciato in questo modo visto che non dava errore anche se sbagliato, l esercizio lo sto creando, infatti ho smesso di fare altro per dedicarmi a questo, ne ho finito uno e funziona ma è sempre sui cicli di estrazioni, quando rientro cerco di terminare e capire dove intervenire,
Sappi che considero i tuoi interventi, come quelli di Claudio e gli altri sempre utili, senza mai offendermi o chissà cosa e per questo vi ringrazio davvero tanto.
 

i legend

Premium Member
Ciao, ho capito che ho sbagliato a metterlo nel ciclo estrazioni e modificandolo avevo errori ci al momento lo avevo lasciato in questo modo visto che non dava errore anche se sbagliato, l esercizio lo sto creando, infatti ho smesso di fare altro per dedicarmi a questo, ne ho finito uno e funziona ma è sempre sui cicli di estrazioni, quando rientro cerco di terminare e capire dove intervenire,
Sappi che considero i tuoi interventi, come quelli di Claudio e gli altri sempre utili, senza mai offendermi o chissà cosa e per questo vi ringrazio davvero tanto.

Xerox , i nostri sono suggerimenti, per aiutarti , dati con educazione e rispetto, dietro una tua richiesta di aiuto. Non vedo perché dovresti offenderti.
Posta l esercizio che hai svolto. Dall errore possiamo risalire a cosa c è di sbagliato.
 

joe

Advanced Member >PLATINUM PLUS<
Ciao, I-Legend, ho provato a cercare i listati consigliati, ma sembra che non ci sono più, anche il suo profilo, sto cercando altro in modo da capire l uso delle matrici, perchè anche se ho compreso quanto scritto da Claudio8 non riesco a d applicarlo al mio progetto, evidentemente devo approfondire meglio l'argomento.

Forse ho bisogno di altri consigli o dritte...

Intanto continuo i miei studi e ricerche.

Gli Estratti sono "allineabili" in un array-mono-dimensionale.

Dim MONO(90) 'MONO può contenere tutti e 90 gli estratti.

"Ruota,Estratto" o "Ambo" sono un concetto bidimensionale

Dim Bi(10,90) 'può contenere una tabella di 10*90=900 numeri o valori,

indirizzati con 2 indici, tipicamente (X,Y) / (larghezza, profondità) / (base,altezza)

"Estrazione/Ruota/Posizione" oppure "Terno" sono "concetti tridimensionali"

Dim TRI(Estrazione,Ruota,Posizione) 'può indirizzare ad un qualunque estratto, di quasiasi Ruota, in qualsiasi Posizione.

Dunque la linea è monodimensionale,

La tabella è bidimensionale

Un volume è tridimensionale.

Entro certi limiti ... si possono concepire strutture

con anche più di 3 dimensioni su cui operare.

Tante righe affiancate formano delle aree.

Tante righe ... sono delle Tabelle formate da 2 o più righe.

Cioè sono "aree" bidimensionali come lo sono le superfici.

Tante aree o tabelle in piani sovrapposti, sono dei "volumi".

Per indirizzare "un punto nello spazio" cioè in un volume

occorrono 3 coordinate che genericamente sono X,Y,Z.

Per il resto in astratto è :

SE A <> Abb Then
SE B <> Abb Then
Ambo (A,B) = Ambo (A,B)+1
End If
End If

Naturalmente prima ancora è necessario verificare anche SE B > A Then

e meglio ancora aver ordinato gli elementi.

:)
 
Ultima modifica:

Xeroxs

Advanced Member >PLATINUM<
Ciao, I-Legend, Joe

Per Joe, Non Mi riferivo a mie Offese anzi mi sono espresso male, a volte ho il timore che magari visto che al momento ho queste difficoltà che Vi arrendiate nel aiutarmi, mi rendo conto che non capisco perchè mi sono impiantato, comprendo le matrici ma poi nell applicarle con il lotto in pratica vado in tilt e mi blocco.

Ad Esempio mi sono messo a creare questo che avevo già iniziato dalla scorsa settimana ed applicando quello che ho compreso sembra ok e Funzionare ho messo pure delle note e nominando le variabili con lo stesso nome del mio script dove trovo difficoltà proprio per non aumentare la confusione,

Questo è lo script elaborato nei cicli per N estrazioni

Codice:
Option Explicit
Sub Main()
   Dim aNumFreq(90,2),Num(1),x,ru(1)
   Dim Cicli,EC,Ini,Fin,es,rig1,rig2
   '-------------------------------------------------------------------------------------- Disattivare su Vuoi i valori da Input
   'Cicli = 5 ' <------------------------- Numero di Cicli
   'EC = 9 ' <---------------------------- Quante Estrazioni Per Ciclo
   '------------------------------------------------------------------------------------ Attivare Se Vuoi la Richiesta da Input
   Cicli = InputBox("inserire il numero dei Cicli da Esaminare",,5)
   EC = InputBox("inserire il numero delle Estrazioni per Ciclo",,9)
   '------------------------------------------------------------------------------------
   Fin = EstrazioneFin
   Ini = Fin -(EC * Cicli) + 1 ' <-----------------------Tot estr. esaminate
   '-----------------------  Disattivare Se Vuoi analizzare una sola Ruota
   'For r = 1 To 10
   'For r = 1 To 12 : If r = 11 Then r = 12 ' Con La Ruota Nazionale
   '------------------------------------------------------------------------------------
Scrivi String(5," ") & "Analisi Eseguita per " & Cicli & " Cicli" & " di " & EC & " Estrazioni ",1,,,1
Scrivi String(15," ") & DataEstrazione(Ini) & " - " & DataEstrazione(Fin),1,,,1
Scrivi String(60,"-")
Scrivi
      For es = Ini To Fin Step EC
         AvanzamentoElab Ini,Fin,es
         'ru(1) = r ' -------> Disattivare se Vuoi Analizzare una Sola Ruota
         '
         ru(1) = NZ_ ' ------------>  Se Vuoi Analizzare una Singola Ruota
         For x = 1 To 90
            Num(1) = x
            aNumFreq(x,1) = x
            aNumFreq(x,2) = aNumFreq(x,2) + SerieFreqTurbo(es,es + EC - 1,Num,ru,1)
         Next
         OrdinaMatrice aNumFreq,- 1,2
         For x = 1 To 90
            'If aNumFreq(x,2) <> 0 Then
            If aNumFreq(x,2) >= 2 Then ' Frequenti Superioi a 2 Presenze
               rig1 = rig1 + Format2(aNumFreq(x,1)) & " "
               rig2 = rig2 + Format2(aNumFreq(x,2)) & " "
            End If
         Next
         Scrivi DataEstrazione(es) & " - " & DataEstrazione(es + EC - 1),1
         Scrivi "Dalla " & es & " alla " & es + EC - 1 & " Num: " & rig1,1
         Scrivi FormatSpace(NomeRuota(ru(1)),12) & Space(8) & "Pres: ",1,0
         ColoreTesto 2
         Scrivi rig2,1
         Scrivi
         ColoreTesto 0
         ReDim aNumFreq(90,2)
         rig1 = ""
         rig2 = ""
      Next ' Es
   'Next ' Chiude r ---------------> Disattivare se Vuoi Analizzare una Sola Ruota
End Sub
 

Xeroxs

Advanced Member >PLATINUM<
Bene Finalmente sono Riuscito ad Escludere l'ambata mannaggia che "Pirla" che sono a mente fredda analizzando bene le righe ho compreso dove sbagliavo
 

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti,

Vorrei Prima di Tutto Ringraziare chi e intervenuto per aiutarmi in questo progetto, a cui tengo davvero tanto, non solo per i risultati sempre statistici ma per fare un passo avanti nella realizzazione degli script siano semplici che complessi, soprattutto Claudio8 e I-Legend per quanto fatto per indirizzarmi verso queste nuove sfere della statistica realizzate con spaziometria.

In questo weekend ho cercato di completare lo script cercando di incrementare i numeri che di volta in volta venivano estratti con l'ambata calcolata, purtroppo non ci sono riuscito,

basandomi sul + 1 di K per esempio o altre soluzioni che pensavo dessero il risultato voluto ma senza avere un riscontro positivo.

Posto quanto fatto fino ad ora dove ho caricato per il primo esito positivo dell'ambata i restanti quattro numeri che sono chiamati nella ricerca "aNumFreq"

A questo punto penso di aver provato quanto era a mia conoscenza ovvio, ma allo stesso tempo avrei bisogno di una drittacercando di capire cosa sto sbagliando.

Codice:
'Option Explicit
Sub Main()
   Dim ruote(10)
   ReDim aretRuote(12)
   Dim numeri1(10),Ambata(10)
   Dim posta(5)
   Dim Clp,Ini,Fin,es,K,retEsito,retColpi,retEstratti,retIdEstr,x,freq
   Dim aNum(90)
   ReDim aNumFreq(90,2)
   ' Da Quì ho inserito le nuove variabili per la ricerca dei frequenti
   Dim E,n(1),p,Pr,A
   posta(1) = 1
   'posta(2) = 1 ' Attiva se Giochi 2 Ambate
   ruote(1) = TO_
   ruote(2) = VE_
   Clp = 7 ' Colpi di Gioco
   Ini = 9794
   Fin = EstrazioneFin
   Scrivi String(107,"-") & " By Xeroxs " & "-----"
   Scrivi String(48," ") & "****** Resoconto ****** ",1,,,7
   Scrivi String(48," ") & DataEstrazione(Ini) & " - " & DataEstrazione(Fin),1,,,1
   Scrivi String(24," ") & " L' Ambata  - Su Torino-Venezia - Test Per Ricerca Abbinamento ",1,,,1
   Scrivi String(123,"-")
   For es = Ini To EstrazioneFin
      'If IsUltimaDelMese(es) Then
      If IndiceMensile(es) = 6 Then
         Messaggio "Elaborazione estrazioni... [" &(es) & " ]   Script  by Xeroxs"
         AvanzamentoElab Ini,Fin,es
         Ambata(1) = Fuori90(Estratto(es,TO_,2) + 11)
         ColoreTesto 1
         K = K + 1
         Scrivi DataEstrazione(es) & " calcolo Ambata : " & Ambata(1) ' Queto codice permette di scrivere l'amabata da Giocare
         If VerificaEsito(Ambata,ruote,es + 1,1,Clp,,retEsito,retColpi,retEstratti,retIdEstr,aretRuote) = True Then '(=True può essere eliminato poichè la funzione restituisce o vero-True o falso-false)
            'Verificando l'esito,possiamo ottenere(il "ret" che precede i parametri indica che essi restituscono il valore del parametro) tipo di esito, colpo, gli estratti,
            'l'ID dell'estrazione e la ruota/e su cui è uscito l'esito.
            '
            Scrivi "Estraz. " & Format2(es) & " ---> " & IndiceMensile(es) & "° Estrazione Mensile " & "[" & Format2(Mese(es)) & " - " & Anno(es) & "]  " & String(58,"*") & " Caso n° " & Format2(K),1,0
            Scrivi
            Scrivi " Ambata    : " & Ambata(1)
            Scrivi " Esito     : " & retEsito
            Scrivi " Colpo     : " & retColpi & "°"
            Scrivi " Estratto  : " & retEstratti '& "   " & StringaEstratti
            Scrivi " Id Estraz : " & retIdEstr
            Scrivi " Ruota/e   : " & StringaRuote(aretRuote,True,"..")
            For x = 1 To UBound(aretRuote) ' cicliamo l'array o vettore (elenco)  dalla posizione 1 all'ultima presente in esso
               If aretRuote(x) > 0 Then
                  Scrivi " I Frequenti all'uscita dell'Ambata " & Ambata(1) & " Del Caso n° " & Format2(K) & " Sulla Ruota di " & SiglaRuota(aretRuote(x)) & " [" & StringaEstratti(retIdEstr,aretRuote(x)) & "] ",1,,,2
               End If
            Next
            '
              co = 0
          For E = 1 To 90
              co = co + 1
              If E <> Ambata(1) Then ' Escludo dai Frequenti l'ambata
               aNum(90) = E
               aNumFreq(co,1) = co
               aNumFreq(co,2) = aNum(1)
              freq = SerieFreq(retIdEstr,retIdEstr,aNum,aretRuote,1)
              'aNumFreq(E,1) = E
              'aNumFreq(E,2) =  freq
              
              aNumFreq(E,2) = aNumFreq(E,2) + 1

              aNumFreq(co,1) = E
              aNumFreq(co,2) =  freq
             End If
          Next
            'OrdinaMatrice aNumFreq,- 1,2
            'OrdinaMatrice aNumFreq,- 1,1 ' In Questo modo la Creo dal Numero Maggiore a Quello Minore
            OrdinaMatrice aNumFreq,- 1,True ' in Questo modo la Creo dal Numero Minore a Qullo Maggiore
            For E = 1 To 90
                If aNumFreq(E,2) >= 1 Then
                  rig1 = rig1 + Format2(aNumFreq(E,1)) & " "
                  rig2 = rig2 + Format2(aNumFreq(E,2)) & " "
               End If
            Next
            Scrivi
            Scrivi " Num: " & rig1,1
            Scrivi "Pres: ",1,0
            ColoreTesto 2 : Scrivi rig2,1
            Scrivi : ColoreTesto 0
            ReDim aNumFreq(90,2)
            rig1 = ""
            rig2 = ""
            '
         Scrivi
      End If
      End If
   Next
Scrivi
End Sub

dove ho diasattivato alcune righe di codice che sarebbero alcuni tentativi nel cercare il riscontro positivo.... desiderato 😭 😭 😭
 

i legend

Premium Member
ciao scusa non riesco a trovare , dove hai svolto l esercizio che ti avevo suggerito.
li essendoci poche righe è piu facile capire.
ciao :)
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, I-Legend
Scusa se Ti Rispondo solo ora, Problemi nella zona con la "corrente" continua a saltare, ora sembra stabile speriamo.

Allora per quanto riguarda l'esercizio da Te suggerito avevo elaborato qualcosa che è un pò diversa da quanto da Te esposto in quanto non usato la matrice come nel mio progetto sui frequenti per questo non lo avevo postato infatti pensa che servisse per così dire quello esposto al post 104 fatto sui cicli ma che elencava esattamente i frequenti usciti nel periodo analizzato così come in questo fatto alla veloce ma che comunque mi espone i frequenti, e questo certamente mi manda un pò in confusione in quanto non comprendo il perchè se lo faccio in questo modo vedo i risultati nell'altro dovendo usare l'incremento vado in crisi,
Sicuramente credo di aver capito le matrici ma se non riesco poi ad applicare quanto studiato evidentemente non basta,

Alla Fine credo di aver male interpretato quanto da Te suggerito infatti non sapevo come caricare gli estratti per ogni estrazione senza usare stringaestratti ed al tempo stesso non ho compreso se dovevo usare il verifica esiti, ma poi mi sono buttato sul calcolo dei frequenti senza voler necessariamente caricare gli estratti, ma così facendo non eseguito alla lettera il tuo consiglio, non voglio che pensi che Tu ti sei spiegato male, sono convinto che forse sto mettendo troppa carne al fuoco e quindi pecco della giusta conoscenza che non mi permette di fare questo passo.

Codice:
Sub Main()
   Dim aNumFreq(1),r(1)
   Dim Ini,Fin,es,n(5)
   Dim x,Freq
   r(1) = InputBox("qual'è la ruota","ruota di verifica",1)
   Ini = InputBox("da quale estrazione","da quale estrazione",9868)
   Fin = EstrazioneFin
   For es = Ini To Fin
   If IsUltimaDelMese(es) Then
       ColoreTesto 1
      Scrivi "Analisi Eseguita sulla ruota di " & NomeRuota(r(1)),1
      Scrivi "Periodo Analizzato : " &(Fin - Ini) + 1 & " estrazioni",1
      Scrivi "Dal " & DataEstrazione(Ini) & " al " & DataEstrazione(Fin),1
      Scrivi
      ColoreTesto 2
      Scrivi
      Scrivi "       Numeri         Frequenti ",1
      ColoreTesto 0
      For x = 1 To 90
         aNumFreq(1) = x
         Freq = SerieFreq(Ini,Fin,aNumFreq,r,1)
         If Freq > 1 Then
            Scrivi Space(9) & Format2(x) & Space(15) & Freq,1
         End If
      Next
   End If
  Next
End Sub

a me spiace davvero molto e parlo solo di me non riuscire ad "uscire" da questo vortice di confusione e per questo comunque chiedo scusa a Te e Claudio8 se al momento mi trovo in questo fase statica. :unsure::cry::cry::unsure:
 

i legend

Premium Member
Ciao xerox ,non so come aiutarti. Quello che ti ho proposto è la soluzione più semplice da fare . Non mi viene in mente altro.
Se vuoi te la posto la soluzione.
 

joe

Advanced Member >PLATINUM PLUS<
Come spesso accade, di soluzioni ce ne possono essere diverse.

Sono sicuro di aver letto quella di Ilegend,

quella di Claudio ed anche di aver scritto qualcosa anch'io.

Personalmente penso che quando si deve "buttar giù" uno script alla veloce

sia molto comodo utilizzare le istruzioni "più potenti" anche se più generiche.

Mentre quando si tratta di ricercare cose molto specifiche,

o si ritiene di volere maggiore velocità o si intende avere una

maggior gestione o il "controllo totale del funzionamento",

sia meglio usare le istruzioni di base e costruirsi da sè le routine.

Per questo fai bene a voler scrivere da te.

Diversamente leggeresti ed utilizzeresti "la soluzione"

e senza lo sforzo di averla approntata ... essa non sarebbe "tua"

e nel tuo dominio.

:)
 

Xeroxs

Advanced Member >PLATINUM<
Grazie Joe,
Ci sto Provando perchè capire come funzionano le matrici e quindi capire come gestirle è importante per migliorare, certo spero di riuscirci,

Ora sto provando a scrivere da capo uno script per N Estrazioni e da li estrapolare i frequenti poi da li vedrò cosa viene fuori e passare oltre se riesco.

Grazie Come sempre anche per il tuo post precedente.
 

joe

Advanced Member >PLATINUM PLUS<
La matrice bi-dimensionale come ti ho detto ha 2 indirizzi

uno per la linea uno per la colonna della tabella

Tipicamente ogni casella si indirizza con 2 variabili tipo x,y.

Dunque per "scrivere" un valore una Casella qualunque come "C"

scriverai: C(X,Y) = Valore che deve contenere.

Quindi l'Ambo o la casella che ha valore C(X,Y) = enne (presenze)

quando è nuovamente presente un ambo in più avrai:

C(X,Y) = enne + 1

abbiamo detto che C(X,Y) è uguale a enne

dunque al posto di enne possiamo scrivere C(X,Y) ed avremo

C(X,Y) = C(X,Y) + 1

Cioè la Casella-Ambo-C sarà diventata enne+1 (presenze).

Per gli estratti ... è più semplice.

:)
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, Joe (Ovvio Anche I-Legend e Claudio8)

Ho riscritto uno script che lavora solo su ultima estrazione mensile sulla Ruota di Bari poche righe di Codice per capire meglio come lavora la matrice
questo è il risultato.

Volevo eliminare i numeri con zero presenze ma non ci sono riuscite, mi aiutate a non mostrare i numeri con zero presenze, così posso sviluppare i passi succesivi.

Grazie come sempre


Codice:
'Option Explicit
Sub Main
   Dim IdEstr,Ini,Fin,r
   Dim K,x
   Dim aNumFreq(90,2),aNum
   r = BA_
   Ini = EstrazioneFin - 100
   Fin = EstrazioneFin
   For IdEstr = Ini To Fin
      If IsUltimaDelMese(IdEstr) Then
         K = K + 1
         Scrivi DataEstrazione(IdEstr) & " - " & SiglaRuota(r) & "  " & StringaEstratti(IdEstr,r)
      End If
   Next
   Scrivi
   Scrivi "Estrazioni Rilevate = " & K
   For x = 1 To 90
      aNumFreq(x,1) = x
      aNumFreq(x,2) = 0
   Next
   '----------------------------------
   For IdEstr = Ini To Fin
      If IsUltimaDelMese(IdEstr) Then
         r = BA_
         For x = 1 To 5 ' Ciclo per l'estrazione della ruota
            aNum = Estratto(IdEstr,r,x) ' incamero l'estrazione
            aNumFreq(aNum,2) = aNumFreq(aNum,2) + 1
            'If aNumFreq(aNum,2) >= 1 Then
            'End If
         Next
      End If
   Next
   Scrivi
   Scrivi Space(10) & "Num" & "    " & " Freq",1
   OrdinaMatrice aNumFreq,- 1,2
   ScriviMatrice(aNumFreq)
End Sub
 

joe

Advanced Member >PLATINUM PLUS<
si diceva che anum è un Array perché lo hai definito

a)rray di Num)eri.

Esso non dovrebbe esistere come anum senza un indice.

Cioè dovrebbe sempre essere aNum(1) / aNum(2) ecc

:)
 
Ultima modifica:

i legend

Premium Member
For n = 1 ti ubound( anumfreq)
If anumfreq(n,2)>=1 then
Scrivi
Else
Exit for
End if

Ciao:)

Non si utilizza scrivi matrice ma si fa un nuovo ciclo
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 16 aprile 2024
    Bari
    49
    10
    76
    62
    26
    Cagliari
    42
    80
    16
    39
    65
    Firenze
    58
    22
    11
    86
    40
    Genova
    79
    14
    36
    51
    44
    Milano
    25
    27
    16
    77
    79
    Napoli
    70
    04
    51
    49
    71
    Palermo
    61
    65
    76
    53
    43
    Roma
    70
    86
    68
    80
    47
    Torino
    17
    71
    64
    72
    40
    Venezia
    22
    42
    39
    72
    30
    Nazionale
    83
    37
    81
    57
    78
    Estrazione Simbolotto
    Genova
    10
    14
    28
    18
    15
Alto