Utilizzare un Vettore al posto di una Matrice

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca

E' possibile utilizzare un Vettore (Array) 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 useremo due cicli FOR annidati:

Public Sub Main()
 
 Dim matr As New Integer[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, quindi un oggetto a struttura monodimensionale, e disponendo quei gruppi di valori all'interno di un'unica riga, avremo 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 Integer[25]
 Dim j, k As Byte

  For j = 0 To vett.Max Step 5 <FONT Color=gray' 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