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
    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