› Sviluppare funzionalita su Microsoft Office con VBA › Ridurre un sistema integrale del Lotto
-
AutoreArticoli
-
Buongiorno a tutti
Vorrei ridurre un sistema del lotto , tipo N1 garanzia 4 Punti , N2 garanzia 3Punti c'è qualcuno che sa come si fa?
ho fatto diverse macro il sistema viene ridotto , ma perdo la garanzia che vorrei ottenere
Grazie a tutti
Si vedono poche risposte su questo forum (secondo mè dovrebbe trattare giochi e lotterie gran parte degli utenti sono presi dal gioco del lotto e si affidono molto ai forum , ma se non li tratti fine
c'è qualcuno che sa come si fa?
Probabilmente vedi poche risposte a questa domanda, perchè non ci sono molte persone che se ne occupano.
secondo mè dovrebbe trattare giochi e lotterie
Ah sì? non è un forum a scopo di profitto o lucro.
Vorrei ridurre un sistema del lotto
Forse devi cominciare a spiegarti meno tecnicamente e descrivere meglio l'esigenza.
Grazie vecchio frac per la risposta sei sempre molto gentile
Spiegare le mie esigenze , non è un problema , ma secondo mè serve qualcuno che conosca la teoria di riduzione altrimenti non credo che ci si arrivi a capo
praticamente da un sistema integrale viene ridotto di un punto abbattendo circa il 90% delle colonne del sistema integrale
se lo vuoi vedere posso caricarti un sistema , il mio ridotto (che non ha garanzia) e il ridotto che si dovrebbe ottenere
il tipo di ridotto che sto parlando è un ridotto semplice (non assoluto) questa è un'altra cosa
Io purtroppo non capisco quando parli di "ridurre", forse è meglio avere un esempio concreto.
Se ci sono formule matematiche da applicare, anche ricorsivamente, non dovrebbe essere difficile.
Io purtroppo non capisco quando parli di "ridurre", forse è meglio avere un esempio concreto.
Se ci sono formule matematiche da applicare, anche ricorsivamente, non dovrebbe essere difficile.
Per chi conosce la teoria è sicuramente facile diversamente è molto difficile ti metto un esempio , ma non voglio farti perdere tempo
Eccolo
IL sistema è di 11 numeri parte da 1 a 11 è per farti capire , ma i numeri sono sempre diversi dipende sempre dal pronostico possono essere anche di più , ma il ridotto deve sempre avere la garanzia del 4 se è ridotto di un punto
Ciao
Per comprendere meglio allego un'immagine in cui c'è lo sviluppo di un pronostico Totocalcio di 3 doppie
Lo sviluppo integrale sarebbe di 8 colonne mentre quello ridotto che, comunque, dia una sicurezza di almeno 2 punti è su 4 colonne (costo dimezzato). Ma si può ridurre ancora a 2 colonne (costo 1/4)

Spero sia utile. Ciao,
Mario
Si è così , ma se non si conosce la teoria della riduzione , è difficile costruire una macro che estrapoli quelle colonne
Ciao
Noto che non c'è alcun suggerimento
. Vedo di rimediare in qualche modo.Allego un mio vecchio lavoro per il Totocalcio (non analizzato a fondo nè mai tentato di giocare) che sviluppa un sistema di 7 doppie. Lo sviluppo integrale è composto da 128 colonne (in alto c'è la formula utilizzata per il calcolo) mentre lo sviluppo ridotto e condizionato dal numero massimo di errori e/o dal numero massimo di ripetizione dei segni in ogni colonna.
Non riporto qui il codice (molto commentato ed abbastanza comprensibile) perchè troppo specifico. Vedi se può esserti utile adattandolo alle tue esigenze.
Fai sapere. Ciao,
Mario
Allegati:
You must be logged in to view attached files.Ciao Marius
L'ho testato va benissimo , impostato a Max 2 errori ti da la garanzia di una vincita di seconda categoria , ma purtroppo al vecchio totocalcio non si gioca più
Nel nuovo Totocalcio il ridotto non serve più perchè non ci sono vincite di seconda categoria
IL nuovo lo hai fatto?
Ciao Oscar
No, non ho proseguito negli "studi" perchè non sono un "giocatore" (ed anche perchè temo la LUDOPATIA)
Prova ad adattare lo schema alle tue esigenze.
Ciao,
Mario
Io invece sono appassionato ma non sono preso e gioco molto meno di quello che rientra nelle mie possibilità qualche euro non di più
Ciao
Non vedo più il file che avevi allegato.
Ti dispiace riallegarlo (spiegandomi bene cosa vorresti ottenere e tenendo presente che di Lotto non capisco nulla)
Non prometto nulla ma cercherò di dedicarci un po' di tempo. Ciao,
Mario
PS - Girovagando in rete ho trovato questo indirizzo http://www.pc-facile.com/forum/viewtopic.php?f=26&t=111883
Vedi se fa al caso tuo
Si certo lo riallego
nel foglio trovi il sistema integrale a destra il ridotto che ho fatto io a sinistra e in centro il ridotto che si dovrebbe ottenere
ho controllato l'indirizzo che hai postato non quello che mi serve , quello che mi serve è esattamente come il File che hai postato tu
Nel mio ridotto vanno bene solo le prime 4 colonne
Allora , ho seguito questa discussione e ho rispolverato alcune nozioni per lo sviluppo. Tempo fa ho collaborato con una ricevitori Totocalcio per lo sviluppo dei sistemi usando un Software professionale che costava un botto, il problema piu grande è trovare l'algoritmo della riduzione cosa assai difficile, perchè entriamo in un campo della Matematica che sviluppa la riduzione di un sistema applicando dei teoremi un poco astrusi da decifrare(per me), comunque, secondo me se si trova la matrice dei vari sistemi che si voglio sviluppare, cosa che faceva il software, è molto semplice adattare la matrice ai numeri che metti in gioco,.Girovagando in internet ho trovato una matrice per il lotto, che mette in gioco 19 numeri a garanzia dell'ambo, da fare una precisazione, nel caso di un ridotto a garanzia dell'ambo(cioe se escono 5 numeri che ho messo in gioco)non e detto che troverai una cinquina, la puoi trovare, pero lo sviluppo è a garanzia dell'ambo.Ho adattata questa matrice ad un sistema, e ho fatto lo sviluppo in un file excel con VBA. posto il file piu il codice. Naturalmente ho trovato un poco di difficolta nelle varie matrici, perche volevo inserire in una unica matrice tutte le 8 matrici(come si puo fare in altri linguaggi), ma non sono stato capace, il codice puo essere ottimizzato.
Funzionamento del file: inserire i numeri che vuoi mettere in gioco nella colonna A
Importante: in numeri debbono essere messi in colonna in ordine cronologico, nel senso dal piu piccolo al piu grande.
Una volta inserito i numeri , basta pressare il pulsante è verrano inserite le 8 cinquine.Option Explicit Private Sub ReadDataArray() Dim arr As Variant, m1 As Variant, m2 As Variant, m3 As Variant Dim m4 As Variant, m5 As Variant, m6 As Variant, m7 As Variant Dim m8 As Variant, b As Variant Dim a As Integer, f As Integer, r As Integer Foglio1.Range("c1").CurrentRegion.Clear m1 = Array(1, 2, 3, 4, 5) m2 = Array(1, 7, 12, 18, 19) m3 = Array(2, 9, 14, 17, 19) m4 = Array(6, 7, 8, 9, 10) m5 = Array(1, 6, 11, 16, 17) m6 = Array(2, 8, 13, 16, 18) m7 = Array(3, 10, 15, 16, 19) m8 = Array(11, 12, 13, 14, 15) arr = Foglio1.Range("a1").CurrentRegion.Value a = 0 f = 3 r = 1 While a < 5 b = m1(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 2 While a < 5 b = m2(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 3 While a < 5 b = m3(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 4 While a < 5 b = m4(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 5 While a < 5 b = m5(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 6 While a < 5 b = m6(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 7 While a < 5 b = m7(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend a = 0 f = 3 r = 8 While a < 5 b = m8(a) Cells(r, f) = arr(b, 1) f = f + 1 a = a + 1 Wend End SubQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Allegati:
You must be logged in to view attached files.Ciao Albatros
Si hai la garanzia Ambo con 5 numeri indovinati ,ma hai usato una matrice , il problema è ridurre un sistema condizionato dove non è possibile usare nessuna matrice
del resto convertire una matrice in sistema è semplicissimo
La matrice sotto è un ridotto assoluto garanzia Ambo con 5 numeri 4 combinazioni
se devo usare delle matrici tanto vale usare dei ridotti assoluti
01 02 03 04 05
06 07 08 09 11
09 10 15 16 17
12 13 14 18 19Questa è la garanzia delle 4 colonne

ridurre un sistema condizionato dove non è possibile usare nessuna matrice
aaah! io credevo che tu volessi un sistema ridotto ASSOLUTO, non un sistema Condizionato e ridotto, per quel che mi riguarda la vedo molto dura che si possa fare con Excel VBA, in giro ci sono dei programmi professionali che fanno quello che tu chiedi.
Comunque Buon Lavoro
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Programmatori ci sono anche qui , ma non conoscono la sistemistica , mi chiedono come si fa....... allora se lo sapevo lo facevo io!
ma non conoscono la sistemistica , mi chiedono come si fa.......
basta fare un giro in internet e trovi tutte le spiegazioni che riguardano la sistemistica , che cosa si intende per ridotto ASSOLUTO a come inserire una colonna Condizionata a correzione di errori o come limitare il numero dei segni,parlando di Totocalcio, e via discorrendo, ripeto io ho usato un sotware proessionale di Totocalcio, e facevo di tutto compreso quello che tu chiedi, pero mi ripeto, la vedo dura!
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Si è così si fa lo sviluppo condizionato , poi alla fine si applica la riduzione di punti (x) del sistema condizionato
ho cercato in rete , ma non si trova nessuna spiegazione in base al funzionamento del ridotto da applicare
Salve a tutti
Questo il codice (sicuramente migliorabile) per ottenere quello che chiedi
Sub sviluppo() 'combina 11 numeri (da 1 a 11 compresi) a 5 per volta 'tenere presente che: 'cella 1 va da 1 a 7 'cella 2 va da 2 a 8 'cella 3 va da 3 a 9 'cella 4 va da 4 a 10 'cella 5 va da 5 a 11 Range("J:N").ClearContents For i = 1 To 7 n1 = i For j = i + 1 To 8 n2 = j For h = j + 1 To 9 n3 = h For k = h + 1 To 10 n4 = k For w = k + 1 To 11 n5 = w If n1 <> n2 And n1 <> n3 And n1 <> n4 And n1 <> n5 And _ n2 <> n3 And n2 <> n4 And n2 <> n5 And _ n3 <> n4 And n3 <> n5 And n4 <> n5 Then a = a + 1 Cells(a, 10) = n1 Cells(a, 11) = n2 Cells(a, 12) = n3 Cells(a, 13) = n4 Cells(a, 14) = n5 'controlla cifre appena inserite e 'conta se sono uguali alle precedenti 'se la conta è maggiore di 3 'cancella la riga appena inserita 'imposta il contatore riga a 1 in meno 'salta alla nuova riga uc = Cells(Rows.Count, 10).End(xlUp).Row If uc > 1 Then For p = 1 To uc - 1 conta = 0 For x = 10 To 14 If WorksheetFunction.CountIfs(Range("J" & p, "N" & p), Cells(a, x)) = 1 Then conta = conta + 1 Next x If conta > 3 Then Range("J" & a, "N" & a).ClearContents a = a - 1 Exit For End If Next p End If End If Next w Next k Next h Next j Next i End SubTi riporta le cinquine dalla col.J alla N
Fai sapere. Ciao,
Mario
Allegati:
You must be logged in to view attached files.ho cercato in rete , ma non si trova nessuna spiegazione in base al funzionamento del ridotto da applicare
http://lasistemisticalotto.blogspot.com/p/sistemi-integrali.html
forse ti puo indirizzare
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Ciao Albatros ho provato come ridotto è perfetto
però viene creato come matrice adesso bisogna trovare la soluzione come prendere i numeri dello sviluppo
Bravo!!!!
Ciao Albatros ho provato come ridotto è perfett
dare a Cesare quel che è di Cesare
Forse intendevi Mario, che saluto
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )però viene creato come matrice adesso bisogna trovare la soluzione come prendere i numeri dello sviluppo
Mi sono permesso di modificare il codice di Mario, inserisic i numeri (11) in questo casa , nella colonna G1 del file postato da Mario, poi incolla il codice che ti posto in un modulo VBA ed associalo ad un pulsante, vedi quello che succede!
`Sub sviluppo() 'combina 11 numeri (da 1 a 11 compresi) a 5 per volta 'tenere presente che: 'cella 1 va da 1 a 7 'cella 2 va da 2 a 8 'cella 3 va da 3 a 9 'cella 4 va da 4 a 10 'cella 5 va da 5 a 11 Range("J:N").ClearContents arr = Foglio2.Range("g1").CurrentRegion.Value <<< AGGIUNTA For i = arr(1, 1) To arr(7, 1) <<<--------- n1 = i For j = arr(2, 1) To arr(8, 1) <<<<-------- n2 = j For h = arr(3, 1) To arr(9, 1) <<<-------- n3 = h For k = arr(4, 1) To arr(10, 1) <<<-------- n4 = k For w = arr(5, 1) To arr(11, 1) <<<-------- n5 = w If n1 <> n2 And n1 <> n3 And n1 <> n4 And n1 <> n5 And _ n2 <> n3 And n2 <> n4 And n2 <> n5 And _ n3 <> n4 And n3 <> n5 And n4 <> n5 Then a = a + 1 Cells(a, 10) = n1 Cells(a, 11) = n2 Cells(a, 12) = n3 Cells(a, 13) = n4 Cells(a, 14) = n5 'controlla cifre appena inserite e 'conta se sono uguali alle precedenti 'se la conta è maggiore di 3 'cancella la riga appena inserita 'imposta il contatore riga a 1 in meno 'salta alla nuova riga uc = Cells(Rows.Count, 10).End(xlUp).Row If uc > 1 Then For p = 1 To uc - 1 conta = 0 For x = 10 To 14 If WorksheetFunction.CountIfs(Range("J" & p, "N" & p), Cells(a, x)) = 1 Then conta = conta + 1 Next x If conta > 3 Then Range("J" & a, "N" & a).ClearContents a = a - 1 Exit For End If Next p End If End If Next w Next k Next h Next j Next i End Sub `Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire ) -
AutoreArticoli
