Differenze tra le versioni di "Utilizzare un Vettore al posto di una Matrice"

Da Gambas-it.org - Wikipedia.
Riga 12: Riga 12:
 
</table>
 
</table>
 
In questo caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli ''FOR'' annidati:
 
In questo caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli ''FOR'' annidati:
  '''Private''' matr As New Integer[5,5]
+
  '''Public''' Sub Main()
+
 
......
+
  Dim matr As New Integer[5, 5]
......
 
 
'''Public''' Sub Button1_Click()
 
 
 
   Dim j, k As Byte
 
   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 j = 0 To 4
 
     For k = 0 To 4
 
     For k = 0 To 4
       Print mat[j,k]
+
       Print matr[j, k]
 
     Next
 
     Next
 
   Next
 
   Next
+
 
 
  '''End'''
 
  '''End'''
  
Riga 40: Riga 42:
 
</table>
 
</table>
 
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'':
 
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'':
  '''Private''' vett As New Integer[25]
+
  '''Public''' Sub Main()
 
    
 
    
......
+
  Dim vett As New Integer[25]
......
 
 
'''Public''' Sub Button1_Click()
 
 
 
   Dim j, k As Byte
 
   Dim j, k As Byte
 
   
 
   
   For j = 0 To vett.Max Step 5 <FONT color=#006400>' ''Il salto con "Step" ci permette di passare al gruppo di valori successivo''</font>
+
   For j = 0 To vett.Max Step 5 <FONT Color=gray' ''Il salto con "Step" ci permette di passare al gruppo di valori successivo''</font>
 
     For k = 0 To 4
 
     For k = 0 To 4
 
       Print vett[j + k]
 
       Print vett[j + k]

Versione delle 12:29, 16 mar 2017

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</font>
    For k = 0 To 4
      Print vett[j + k]
    Next
  Next

End