Differenze tra le versioni di "Array dinamici – creazione e riempimento"

Da Gambas-it.org - Wikipedia.
 
(54 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Esporremo qui il caso in cui la quantità degli elementi presenti in un array non è definita a priori, ma lo sia successivamente in modo esplicito o in modo dinamico.
+
#REDIRECT [[Array:_creazione,_modifica_e_riempimento]]
 
 
 
 
 
 
==Array monodimensionale senza definizione della quantità dei propri elementi==
 
 
 
'''Public''' Sub Button1_Click()
 
 
Dim nu As Byte
 
Dim multdimArr As New Byte[]  <FONT color=#006400>' ''dichiara l'array, ma senza definirne la quantità dei propri elementi''</font>
 
 
 
<FONT color=#006400>' ''Incrementa dinamicamente la quantità degli elementi dell'array''</font>
 
    For nu = 0 To 37
 
      multdimArr.Add(nu)
 
    Next
 
 
<FONT color=#006400>' ''verifica:''</font>
 
    For nu = 0 To 37
 
      Print multdimArr[nu]
 
    Next
 
   
 
'''End'''
 
 
 
o anche:
 
 
 
'''Public''' Sub Button1_Click()
 
 
  Dim nu As Byte
 
  Dim multdimArr As Byte[]  <FONT color=#006400>' ''dichiara l'array, ma senza definirne la quantità dei propri elementi''</font>
 
 
<FONT color=#006400>' ''Incrementa dinamicamente la quantità degli elementi dell'array''</font>
 
    For nu = 0 To 37
 
      multdimArr = New Byte[nu]
 
      multdimArr.Add(nu)
 
    Next
 
 
 
    For nu = 0 To 37
 
      Print multdimArr[nu]
 
    Next
 
 
'''End'''
 
 
 
 
 
 
 
==Incremento dinamico degli elementi di un array multidimensionale==
 
Per poter incrementare dinamicamente gli elementi di un array multidimensionale dovremo necessariamente inizialmente dichiarare la sua dimensione, ponendone il valore degli elementi ad almeno: 1.
 
Nell'esempio sottostante poniamo il caso di un array bidimensionale con numero di colonne fisso ed incremento dinamico del numero delle righe ad ogni clic sul ''Button1'':
 
Private multdimArr As Integer[]
 
Private rig As Integer = 1      <FONT color=#006400>' ''Si comincia con l'avere una riga''</font>
 
 
 
'''Public''' Sub Button2_Click()
 
 
<FONT color=#006400>' ''Incrementa dinamicamente la quantità delle righe dell'array''</font>
 
  multdimArr = New Integer[rig, 2]
 
 
<FONT color=#006400>' ''Pone il valore numerico medesimo nella nuova riga della 1<Sup>a</sup> colonna:''</font>
 
  multdimArr[rig - 1, 1] = rig
 
     
 
  Print multdimArr[rig - 1, 1]
 
 
 
  Inc rig
 
 
'''End'''
 
 
 
 
 
 
 
==Array con definizione successiva della quantità dei propri elementi<font>==
 
 
Esempio con un array monodimensionale:
 
'''Public''' Sub Button1_Click()
 
 
  Dim ind1 As Integer = 38
 
  Dim nu As Integer
 
  Dim multdimArr As Integer[]  <FONT color=#006400>' ''dichiara l'array, ma senza dimensionarlo''</font>
 
 
<FONT color=#006400>' ''dimensiona "ora" l'array:''</font>
 
    multdimArr = New Integer[ind1]
 
 
    For nu = 0 To multdimArr.Max
 
<FONT color=#006400>' '' riempie ogni elemento dell'array:''</font>
 
      multdimArr[nu] = nu
 
      Print multdimArr[nu]
 
    Next
 
 
 
'''End'''
 
 
 
 
 
Esempio con un array multidimensionale:
 
'''Public''' Sub Button1_Click()
 
 
  <FONT color=#B22222>Dim multdimArr As Integer[]</font>
 
  Dim rig, col As Integer
 
  Dim nuR, nuC As Integer
 
 
<FONT color=#006400>' ''dimensiona "ora" l'array:''</font>
 
  rig = InputBox("Inserisci tu la dimensione delle righe dell'array:")
 
  col = InputBox("Inserisci tu la dimensione delle colonne dell'array:")
 
 
  <FONT color=#B22222>multdimArr = New Integer[rig, col]</font>
 
 
 
  For nuR = 0 to rig - 1
 
    For nuC = 0 To col - 1
 
      multdimArr[nuR, nuC] = nuC
 
      Print multdimArr[nuR, nuC]
 
    Next
 
  Next
 
 
'''End'''
 

Versione attuale delle 09:13, 15 dic 2020