Novità

SpazioScript (per LuigiB o per chi può aiutarmi)

come andiamo ? Vediamo se questa immagine ti suggerisce qualcosa

1600415975283.png

si tratta della creazione della griglia prendendo l'esempio di 5 numeri da sviluppare per terno.

come vedi è come se avessimo una specie di contenitore gialllo che contiene 3 numeri alla volta e lo facciamo scorrere di una casellina in funzione della posizione

il procedimento è identico con qualsiasi altra classe e quantita di numeri.

questo si implementa con 2 cicli for nidificati.
 
Va malissimo ahahaha ci sto ragionando da questa mattina alle 7 ... il problema non è il meccanismo, quello per fortuna l'ho capito perfettamente. E' la stesura del codice applicando il meccanismo. Ho capito che vi è la necessità dei due cicli for ma non riesco a capire come nidificarli. Appena ci riesco postero il tutto :D
 
direi di no ... il primo ciclo for è la classe ...
tra l'altro vorresti usare un array come variabile di controllo di un ciclo ?

con un primo ciclo for scorri le righe, per ogni riga alimenti le colonne cioe le caselline di quella riga , prendendo i numeri dall'array dei numeri a partire dal valore della variabile di controllo del ciclo esterno per una quantita pari al numero di numeri per riga.
 
come non proprio? ?

" a partire dal valore della variabile di controllo del ciclo esterno per una quantità pari al numero di numeri per riga. "

quindi

variabile di controllo del ciclo esterno = k
Quantità numero di numeri per riga = nQNumPerRiga

va dal valore di k a nQNumPerRiga

for ... = k to nQNumPerRiga

Sbagliato?
 
il ciclo esterno è giusto , il ciclo interno ha sbagliaot il limite superiore ... che succede con k = 3 nel ciclo interno ? io dico che si blocca visto che nQNumPerRiga è un valore fisso che nel nostro esempio vale proprio 3 ( esempio dei 5 numeri per terno) invece deve poter arrivare fino al limite superiore dell'array numeri ...

infondo si tratta di prendere delle porzioni da un primo array , e shiftare di una casellina ogni volta che si cambia riga.
la porzione devesempre contenere 3 numeri (nel nostro esempio) e quindi una vota prende i numeri da 1 a 3 dell'arrray , poi da , 2 a 4 , poi da 3 a 5 ... come vedi il limite superiore cambia sempre percio non puo essere fisso come hai fatto tu
 
Ultima modifica:
Allora sbaglio qualcos'altro al 100% ed ora ne ho la prova ... perché tra le migliaia di prove ho provato anche

Codice:
    For k = 1 To nClasse      
      For j  =  k To UBound(aNumeri)
      Next
      Next

diverse volte ....ma in output non mi restituisce nulla ...
 
e ovvio che non vedi l'outoput .. i cicli scoorono ma se in mezzo non metti istruzioni per valorizzare la matrice cosa ti aspetti di vedere ?
 
Qui non l'ho postato ma in realtà ho messo le istruzioni per valorizzarla ma ho capito che c'è qualcosa che non va

Codice:
   Private Sub AlimentaArrayRighe
      Dim aNumeri,k,j,s,z' contiene i numeri del pronostico convertiti dall'array boolean
      Call ArrayBNumToArrayNum(aBNumDaSvil,aNumeri) ' popolo aNumeri
      nQNumPerRiga =((nQNumeri - nClasse) + 1) 'che formula uso  per calcolare la quantita di numeri per singola riga della griglia
      ReDim aRighe(nClasse,nQNumPerRiga) ' dimensiono la griglia in modo opportuno
      For k = 1 To nClasse 'scorro le righe
         s = "" 'per ogni riga alimento le colonne
         For j = k To UBound(aNumeri) 'prendo i numeri (aNumeri) a partire dalla variabile di controllo del ciclo esterno (k)
         s = s & j
      Next
      Next
   End Sub

Facendo in questo modo j "salterà" la prima casella in funzione della classe... ma se io inserisco come valore per la stringa "j" ... inserirà sempre numeri in funzione della classe ma sempre fino a 5 (nel nostro esempio) e non va bene perché deve inserire numeri fino ad una quantità pari a nQNumPerRiga.

Inoltre mi sono reso conto che attraverso questa procedura genero una stringa ... ma non valorizzo la matrice. Sto pensando a come risolvere il problema :D
 
esatto non devi creare una stringa ma valorizzare la matrice. , inoltr e il secondo ciclo non deve avere un limite fisso sia esso anche il pi alto , deve essere un valore che dinamicamente si modific per prendere N elelementi a partire da uno.


se io voglio valorizzare la cella riga 1 , colonna 1 con il primo numero dell'array numeri
scrivo
aRighe(1,1)=aNumeri (1)
 
j non potra mai andare bene per identificare contemporaneamente un elemento della matrice e uno dell'array dei numeri. abbiamo visto che nella matrice ci sono 3 colonne ma i numeri nell'rray sono 5 ...

comunque la strada è questa con delle variabili punti gli element della matrice e dell'array e cosi prelevi il valore e lo scrivi...

facciamo un esempio come dovrebeb esser con K = 1

aRighe(1,1) = aNumeri(1)
aRighe(1,2) = aNumeri(2)
aRighe(1,3) = aNumeri(3)

facciamo un esempio come dovrebeb esser con K = 2

aRighe(2,1) = aNumeri(2)
aRighe(2,2) = aNumeri(3)
aRighe(2,3) = aNumeri(4)

facciamo un esempio come dovrebeb esser con K = 3

aRighe(3,1) = aNumeri(3)
aRighe(3,2) = aNumeri(4)
aRighe(3,3) = aNumeri(5)
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 13 dicembre 2025
    Bari
    61
    81
    73
    68
    78
    Cagliari
    76
    59
    33
    78
    23
    Firenze
    10
    37
    58
    30
    71
    Genova
    17
    45
    37
    36
    72
    Milano
    10
    71
    70
    46
    87
    Napoli
    21
    11
    51
    68
    01
    Palermo
    84
    72
    26
    17
    79
    Roma
    39
    63
    46
    67
    50
    Torino
    35
    86
    79
    68
    85
    Venezia
    67
    68
    22
    77
    76
    Nazionale
    46
    12
    72
    65
    70
    Estrazione Simbolotto
    Venezia
    05
    13
    40
    35
    10
Indietro
Alto