Novità

Domanda per sistemisti e scripters con la S maiuscola

lotto_tom75

Advanced Premium Member
In spaziometria già c'è la possibilità grazie alla fantastica sezione "sitemi ridotti" di costruirsi per gruppi numerici voluti sistemi a Garanzia voluta (es. xA,T ecc..) fino ad un massimo di 10 elementi per colonna... se non erro...

Ma se volessi... costruirmi un sistema di 30 elementi con G4 partendo da un gruppo di sole 60 unità?

Domanda per sistemisti e matematici esperti: Quante colonne si dovrebbero generare?

Domanda per scripters esperti: E' possibile ampliare quanto già presente nella sezione "sistemi ridotti" di spaziometria fino a prevedere la possibilità di espandere la creazione di sistemi ridotti a G voluta a quantita' di elementi per colonna voluta anzichè fermarsi come adesso a 10?

THANKS VERY MUCH AND GOOD SUNDAY EVERYBODY :)
 
ciao , il fatto che siano a sviluppo classe 10 max dipende dal fatto che sono sistemi previsti per essere giocati , pertanto
non e possibile usare una classe di sviluppo piu alta.
Ad ogni modo le matrici le ho prese da questo sito , forse ci sono anche gli sviluppi che interessano te

La Jolla Covering Repository Tables
 
ciao , il fatto che siano a sviluppo classe 10 max dipende dal fatto che sono sistemi previsti per essere giocati , pertanto
non e possibile usare una classe di sviluppo piu alta.
Ad ogni modo le matrici le ho prese da questo sito , forse ci sono anche gli sviluppi che interessano te

La Jolla Covering Repository Tables

Ok, speriamo che sia realizzabile uno script per sopperire a tale limite... :p Nel frattempo... ho visto il sito che mi hai suggerito! Molto interessante non lo conoscevo. Ho provato ad intuire... la tabella che mi necessitava e ho trovato questa pagina... Covering design with v=60, k=25, t=4 Mi daresti conferma che si tratta appunto di un sistema di 25ine (85 colonne) a garanzia 4 generato da 60 elementi? Purtroppo non mi sembra ci siano sistemi sviluppabili in 30ine da un un gruppo di 60 elementi ma potrebbe andare bene anche questo con le 25ine per queste ultime mie ricercuzze... :) GRAZIE LUIGI! ;)
 
Ultima modifica:
si esatto , fondamentalmente lo script che serve a te prendendo in input le colonne della matrice dovrebbe sostituire
i numeri con quelli da te scelti , questo è cio che fa gia il programma con i sistemi ridotti.
Avrai notato che le matrici per convenzione usano i primi numeri consecutivi fino al numero di numeri in gioco.
Quindi serve una tabella di conversione che a tale numero della colonna matrice colleghi sempre tale altro (cioe quello scelto da te)
successuvamente grazie a questa tabella di conversione lo script leggendo le colonne della matrice fornira in output le colonne
con i numeri personalizzati.
Ovviamente lo script è possibile , basta applicarsi. Ciao.
 
lo script l'ho fatto io . tutto sommato è banale.
Lo script prrevede una direcrory dove siano salvate le matrici
per salvarle si va sul sito e si fa cosi , ricordati la directory dove le salvi nello script ho usato "c:\temp\"

salvasis.jpg



poi usa questo script

Codice:
Option Explicit
Sub Main
	Dim sFileMatrice,sDirMatrici,k,nScelti
	Dim nNumInGioco , nClasse , nGaranzia 
	sDirMatrici = "c:\temp\"
	sFileMatrice = ScegliMatrice(sDirMatrici)
	nNumInGioco = 0
	If FileEsistente(sFileMatrice) Then
		ReDim aRighe(0)
		Call LeggiRigheFileDiTesto(sFileMatrice,aRighe)
		 
		If GetQNumClasseGar (aRighe ,  nNumInGioco  , nClasse , nGaranzia ) Then
		 
			ReDim aNum(0)
			MsgBox "Selezionare nella finestra seguente precisamente " & nNumInGioco & " numeri",vbInformation
			nScelti = ScegliNumeri(aNum)
			Do While nScelti <> nNumInGioco
				If MsgBox("Il sistema prevede " & nNumInGioco & " numeri  sono stati scelti " & nScelti & " numeri , riproporre la selezione dei numeri ?",vbQuestion + vbYesNo) = vbNo Then
					Exit Do
				End If
				nScelti = ScegliNumeri(aNum)
			Loop
			If nScelti = nNumInGioco Then
				Call Scrivi("Numeri in gioco " & nNumInGioco)
				Call Scrivi("Classe          " & nClasse)
				Call Scrivi("Garanzia        " & nGaranzia )
				Call Scrivi 
				
				For k = 0 To UBound(aRighe)
					'Call Scrivi(aRighe(k))
					If IsRigaSoloNumeri(aRighe(k)) Then
						ReDim aNumColonna(0)
						Call ConvertiColonna(aNum,aRighe(k),aNumColonna)
						'Call Scrivi(aRighe(k) ,True)
						Call Scrivi(StringaNumeri(aNumColonna,,True))
					End If
				Next
				Scrivi sFileMatrice
			End If
		End If
	End If
End Sub
Function ScegliMatrice(sDir)
	Dim i
	ReDim aV(0)
	Call ElencoFileInDirectory(sDir,aV,".html")
	i = ScegliOpzioneMenu(aV,,"Scegli matrice")
	ScegliMatrice = sDir & aV(i) & ".html"
End Function
Function GetQNumClasseGar(aRighe , nQ , nC , nG)
	        Dim k, i, ii, sTmp
         
        nQ = 0
        nC = 0
        nG = 0
        
        For k = 0 To UBound(aRighe)
                i = InStr(1, aRighe(k), "v=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), ",", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nQ = Int(sTmp)
                        End If
                End If
                i = InStr(1, aRighe(k), "k=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), ",", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nC = Int(sTmp)
                        End If
                End If
                i = InStr(1, aRighe(k), "t=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), "<", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nG = Int(sTmp)
                        End If
                End If


        Next
        If nQ > 0 And nC > 0 And nG > 0 Then
                GetQNumClasseGar = True
        Else
                GetQNumClasseGar = False

        End If
End Function

Function IsRigaSoloNumeri(sRiga)
	Dim k
	Dim bRet
	bRet = True
	If sRiga <> "" Then
		For k = 1 To Len(sRiga)
			If Mid(sRiga,k,1) <> " " Then
				If IsNumeric(Mid(sRiga,k,1)) = False Then
					bRet = False
					Exit For
				End If
			End If
		Next
		IsRigaSoloNumeri = bRet
	End If
End Function
Sub ConvertiColonna(aNum,sRiga,aNumColonna)
	Dim i,k,nClasse
	ReDim aV(0)
	sRiga = Trim(sRiga)
	i = InStr(sRiga,"  ")
	Do While i > 0
		sRiga = Replace(sRiga,"  "," ")
		i = InStr(sRiga,"  ")
	Loop
	Call SplitByChar("0 " & sRiga," ",aV)
	nClasse = UBound(aV)
	ReDim aNumColonna(nClasse)
	For k = 1 To nClasse
		aNumColonna(k) = aNum(Int(aV(k)))
	Next
End Sub
 
Ultima modifica di un moderatore:
lo script l'ho fatto io . tutto sommato è banale.
Lo script prrevede una direcrory dove siano salvate le matrici
per salvarle si va sul sito e si fa cosi , ricordati la directory dove le salvi nello script ho usato "c:\temp\"

salvasis.jpg



poi usa questo script

Codice:
Option Explicit
Sub Main
	Dim sFileMatrice,sDirMatrici,k,nScelti
	Dim nNumInGioco , nClasse , nGaranzia 
	sDirMatrici = "c:\temp\"
	sFileMatrice = ScegliMatrice(sDirMatrici)
	nNumInGioco = 0
	If FileEsistente(sFileMatrice) Then
		ReDim aRighe(0)
		Call LeggiRigheFileDiTesto(sFileMatrice,aRighe)
		 
		If GetQNumClasseGar (aRighe ,  nNumInGioco  , nClasse , nGaranzia ) Then
		 
			ReDim aNum(0)
			MsgBox "Selezionare nella finestra seguente precisamente " & nNumInGioco & " numeri",vbInformation
			nScelti = ScegliNumeri(aNum)
			Do While nScelti <> nNumInGioco
				If MsgBox("Il sistema prevede " & nNumInGioco & " numeri  sono stati scelti " & nScelti & " numeri , riproporre la selezione dei numeri ?",vbQuestion + vbYesNo) = vbNo Then
					Exit Do
				End If
				nScelti = ScegliNumeri(aNum)
			Loop
			If nScelti = nNumInGioco Then
				Call Scrivi("Numeri in gioco " & nNumInGioco)
				Call Scrivi("Classe          " & nClasse)
				Call Scrivi("Garanzia        " & nGaranzia )
				Call Scrivi 
				
				For k = 0 To UBound(aRighe)
					'Call Scrivi(aRighe(k))
					If IsRigaSoloNumeri(aRighe(k)) Then
						ReDim aNumColonna(0)
						Call ConvertiColonna(aNum,aRighe(k),aNumColonna)
						'Call Scrivi(aRighe(k) ,True)
						Call Scrivi(StringaNumeri(aNumColonna,,True))
					End If
				Next
				Scrivi sFileMatrice
			End If
		End If
	End If
End Sub
Function ScegliMatrice(sDir)
	Dim i
	ReDim aV(0)
	Call ElencoFileInDirectory(sDir,aV,".html")
	i = ScegliOpzioneMenu(aV,,"Scegli matrice")
	ScegliMatrice = sDir & aV(i) & ".html"
End Function
Function GetQNumClasseGar(aRighe , nQ , nC , nG)
	        Dim k, i, ii, sTmp
         
        nQ = 0
        nC = 0
        nG = 0
        
        For k = 0 To UBound(aRighe)
                i = InStr(1, aRighe(k), "v=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), ",", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nQ = Int(sTmp)
                        End If
                End If
                i = InStr(1, aRighe(k), "k=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), ",", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nC = Int(sTmp)
                        End If
                End If
                i = InStr(1, aRighe(k), "t=", vbTextCompare)
                If i > 0 Then
                        ii = InStr(i, aRighe(k), "<", vbTextCompare)
                        If ii > 0 Then
                                sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
                                nG = Int(sTmp)
                        End If
                End If


        Next
        If nQ > 0 And nC > 0 And nG > 0 Then
                GetQNumClasseGar = True
        Else
                GetQNumClasseGar = False

        End If
End Function

Function IsRigaSoloNumeri(sRiga)
	Dim k
	Dim bRet
	bRet = True
	If sRiga <> "" Then
		For k = 1 To Len(sRiga)
			If Mid(sRiga,k,1) <> " " Then
				If IsNumeric(Mid(sRiga,k,1)) = False Then
					bRet = False
					Exit For
				End If
			End If
		Next
		IsRigaSoloNumeri = bRet
	End If
End Function
Sub ConvertiColonna(aNum,sRiga,aNumColonna)
	Dim i,k,nClasse
	ReDim aV(0)
	sRiga = Trim(sRiga)
	i = InStr(sRiga,"  ")
	Do While i > 0
		sRiga = Replace(sRiga,"  "," ")
		i = InStr(sRiga,"  ")
	Loop
	Call SplitByChar("0 " & sRiga," ",aV)
	nClasse = UBound(aV)
	ReDim aNumColonna(nClasse)
	For k = 1 To nClasse
		aNumColonna(k) = aNum(Int(aV(k)))
	Next
End Sub

Ma da quale pianeta provenite tu e dynamo? :eek:

SPETTACOLAREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

GRAZIE infiniteeeeeeeeeeeeeeeeeeeeeeeeeeeeeee M A G O !
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 02 maggio 2025
    Bari
    71
    09
    03
    80
    50
    Cagliari
    32
    75
    30
    70
    40
    Firenze
    72
    16
    32
    70
    90
    Genova
    33
    34
    60
    75
    59
    Milano
    23
    82
    28
    03
    41
    Napoli
    87
    26
    22
    77
    39
    Palermo
    53
    11
    16
    22
    48
    Roma
    20
    31
    84
    79
    40
    Torino
    79
    78
    27
    04
    51
    Venezia
    20
    36
    76
    17
    88
    Nazionale
    15
    22
    51
    27
    18
    Estrazione Simbolotto
    Milano
    20
    11
    41
    05
    04
Indietro
Alto