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 05 aprile 2025
    Bari
    10
    58
    03
    61
    14
    Cagliari
    04
    67
    36
    85
    87
    Firenze
    70
    45
    80
    62
    06
    Genova
    05
    66
    32
    59
    89
    Milano
    20
    56
    02
    87
    47
    Napoli
    60
    63
    75
    72
    06
    Palermo
    14
    80
    30
    76
    70
    Roma
    73
    42
    36
    79
    08
    Torino
    26
    74
    83
    78
    31
    Venezia
    06
    60
    85
    76
    40
    Nazionale
    44
    11
    71
    06
    37
    Estrazione Simbolotto
    Genova
    26
    14
    36
    31
    44
Indietro
Alto