Utilizzare un Vettore al posto di una Matrice

Da Gambas-it.org - Wikipedia.
Versione del 10 giu 2024 alle 03:33 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

E' possibile utilizzare un Vettore (Array ) monodimensionale al posto di una Matrice mediante il ciclo "FOR...NEXT" accompagnato da un salto assoluto con "STEP".

Poniamo l'esempio di una Matrice avente 5 colonne e 5 righe. Questa Matrice ci consentirà di suddividere, e quindi di gestire ed utilizzare, - avendo come punto di vista le sue righe - 5 gruppi di 5 (sulla base delle colonne) valori.
Possiamo rappresentare visivamente questa Matrice nel modo seguente:

In questo caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremmo abitualmente due cicli "FOR" annidati:

Public Sub Main()
 
 Dim matr As New Byte[5, 5]
 Dim j, k As Byte

 For j = 0 To 4
   For k = 0 To 4
     matr[j, k] = CInt(j + k)
   Next
 Next
 
 For j = 0 To 4
   For k = 0 To 4
     Print matr[j, k]
   Next
 Next
 
End

Utilizzando, invece, un Vettore a struttura monodimensionale e disponendo quei gruppi di valori linearmente all'interno di un'unica riga, avremmo visivamente quegli elementi disposti nel modo seguente:

In questo altro caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli "FOR" annidati con l'aggiunta di un salto mediante "Step":

Public Sub Main()
 
 Dim vett As New Byte[25]
 Dim j, k As Byte

 For j = 0 To vett.Max
   vett[j] = j
 Next
 
 For j = 0 To vett.Max Step 5   ' Il salto con "Step" ci permette di passare al gruppo di valori successivo
   For k = 0 To 4
     Print vett[j + k]
   Next
 Next
 
End