quote:Originally posted by metus
Un esempio cretino di come estrapolare i 4005 ambi per il lotto
Sub main()
For x=1 To 89
For x1=x+1 To 90
Scrivi x &"."&x1
Next
Next
End Sub
In italiano
Per x è uguale ad un numero da 1 a 89
Per x1 è uguale a x+1 fino a 90
Faccio scrivere x un punto e x1
L'imbecille elettronico mi tira fuori tutti gli ambi che si formano con 90 numeri.
Il Next serve per ogni For
Poi si potrebbe vedere le impostazioni che per ogni script sono sempre le stesse, senza stare a riscriverle ogni volta.
Ciao
metus
Non stare davanti a me, potrei non seguirti; non stare dietro di me, potrei non esserti di guida; ma, sta al mio fianco e sii semplicemente mio amico.
Albert Camus
Sub Main
Dim k
ReDim aValori(4005,1)
Dim n1,n2
Dim Ruota,Rit,RitMax,Freq
Ruota = ScegliRuota
If Ruota > 0 Then
Call Messaggio("Statistica ambi")
For n1 = 1 To 89
For n2 = n1 + 1 To 90
k = k + 1
Call StatAmbo(Ruota,n1,n2,Rit,RitMax,0,Freq,EstrazioneIni,EstrazioneFin)
aValori(k,1) = Rit
aValori(k,0) = Format2(n1) & " - " & Format2(n2) & _
Space(4) & FormatSpace(Rit,6,True) & _
Space(4) & FormatSpace(RitMax,6,True) & Space(4) & FormatSpace(Freq,6,True)
If ScriptInterrotto Then Exit For
Next
If ScriptInterrotto Then Exit For
Call AvanzamentoElab(1,89,n1)
Next
Call Messaggio("Ordinamento")
Call OrdinaMatrice(aValori,- 1,1)
Call Messaggio("Scrivo output")
Call Scrivi (NomeRuota(Ruota))
Call Scrivi("Range da " & GetInfoEstrazione(EstrazioneIni ) & " fino a " & GetInfoEstrazione(EstrazioneFin ))
Call Scrivi(" AMBO " & Space(2) & FormatSpace("Rit",9,True ) & Space(4) & FormatSpace("RitMax",6 , True ) & Space(4) & FormatSpace("Freq",6,True ))
For k = 1 To 4005
Call Scrivi(aValori(k,0))
If ScriptInterrotto Then Exit For
Next
End If
End Sub
SCRIPT COMMENTATO METODO AMBO DOPPIO PIù SPECULARI
Sub main()
Dim nx(90)
Dim freqx1(90)
Dim freqx2(90)
Dim numx1(90)
Dim numx2(90)
Dim posx1(90,50)
Dim posx2(90,50)
Dim ruote(11)
Dim rt(8)
Dim ruor(6),lun(6)
Dim ne1(20),ne2(20)
Dim num(4),de(4),ca(4)
Dim SA(6),DA(12)
Dim poambata(5),poambo(5),poterno(5),poquaterna(5)
Dim nu(2),na(8),na1(8)
poambata(1)=1 : poambo(2)=1 :poterno(3)=1:poquaterna(4)=1
ColoreTesto 1
Scrivi String(75,"*"),1
ColoreTesto 0
Scrivi String (25," ")& "Ambo Doppio Filotto",1
ColoreTesto 1
Scrivi String (15," ")& "Programed by °°°esselotto°°° per ***Filotto*** LottoCed",1
ColoreTesto 1
Scrivi String(75,"*"),1
ColoreTesto 0
Scrivi String(75,"_"),1
Scrivi String(75,"_"),1
indietro=CInt(InputBox ("Quante Estrazioni vuoi esaminare ?..","°°°esselotto°°°",100))
If indietro= False Then Exit Sub
colpis=CInt(InputBox ("Colpi di gioco?..","°°°esselotto°°°",9))
If colpis= False Then Exit Sub
clp=colpis
co=0
ini=EstrazioneFin -indietro
fin=EstrazioneFin
For es=ini To fin
Messaggio "elaborazione. estraz. "&(es)
''''''''''''''' rilevo blocco A in due estrazioni
no=0
Erase freqx1
Erase freqx2
For x= 1 To 90 ''''' da qui inizio il controllo dei 90 numeri
pos=0
For r=1 To 5
pos=pos+1
For p=1 To 5 ' Da qui rilevo il numero Estrazione precedente (es-1)
If Estratto (es-1,r,p)=x Then ' controllo se l'estratto è uguale al numero Estrazione ' precedente es-1
freqx1(x)=freqx1(x)+1: ' ogni volta che trovo aggiungo 1 alla frequenza del numero X
pp=p+4:if pp>5 Then pp=pp-4 ' con questo mi prelevo numero speculare e lo
numx1(x)=Estratto (es-1,11-r,pp) ' assegno alla matrice numx1(x)
End If
If Estratto (es,r,p)=x Then ' Da qui faccio la stessa cosa che ho fatto sopra
freqx2(x)=freqx2(x)+1 ' Ma con estrazione attuale (es)
pp=p+4:if pp>5 Then pp=pp-4
numx2(x)=Estratto (es,11-r,pp)
End If
''''''''''Quindi freqx1() e dell'estrazione precedente sempre nel Blocco a
'''''''''' freqx2() e di quella attuale
Next ' chiudo i vari cicli for
Next '' ""
Next '' ""
s=0 ''''''''''Questo contatore s è molto importante mi conta le presenze e altro
numerix1=" " '''''''''Azzero stringa che uso per far vedere i numeri pui fare anche diversamente
numerix2=" " '''''''''''altra stringa come sopra
''''''''''DA QUI INIZIO IL CONTROLLO SE ESISTONO SOLO DUE AMBI UGUALI
For x= 1 To 90 ''''<-------- DAL NUMERO 1 AL 90
If freqx1(x)=1 And freqx2(x)=1 Then ''' se i due numeri contano (una sola e uguale) presenza nelle due estrazioni
s=s+1 '''''incremento s (il contatore )di 1 unita
ne1(s)=numx1(x) 'assegno a ne1(s) quindi s=1 fai attenzione ne1 il numero speculare
ne2(s)=numx2(x) 'assegno a ne2(s) quindi 1 <----------------ne2 l'altro numero speculare
numerix1=numerix1 & " "& x ''''' qui riempio la stringa niente di importante
numerix2=numerix2 & " "& numx1(x)& " "& numx2(x) ''''' cpome sopra altra stringa
End If '''''' chiudo il blocco If freqx1(x)=1 And freqx2(x)=1 Then
Next ''' chiudo il ciclo for x
''''' qui ci siamo abbiamo bisogno del contatore di cui ti spiegavo sopra
''''' se s= 2 procedo se ho rilevato solo due casi di numeri uguali procedo
''''' esempio Estrazione precedente 12 freqenza 1
'''''' """ """ 19 "" 1
''''' esempio Estrazione Attuale 12 freqenza 1
'''''' """ """ 19 "" 1
'''' con questo commando If freqx1(x)=1 And freqx2(x)=1 Then
''' se 12 nell'estrazione precedente e in quella attuale ha 1 solo caso
'''' allora incremento s che era uguale a zero s=s+1 diventa 1 (1° caso trova