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

Da Gambas-it.org - Wikipedia.
 
(48 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Descriveremo la creazione e l'assegazione di valori ad un array monodimensionale dinamico (con quantità di elementi non definita a priori), nonché i casi in cui la definizione della quantità degli elementi viene definita successivamente in modo esplicito o in modo dinamico.
+
#REDIRECT [[Array:_creazione,_modifica_e_riempimento]]
 
 
 
 
==Creazione e riempimento di un array monodimensionale dinamico==
 
Un array (matrice) monodimensionale è dinamico se, non avendo definita a priori la quantità dei suoi elementi interni, è suscettibile di incrementare di volta in volta detta quantità.
 
 
 
Oltre alla dichiarazione dell'array, per ottenere l'incremento del numero di elementi interni, e dunque l'assegnazione di un determinato valore a ciascun nuovo elemento, bisognerà creare l'array utilizzando la parola ''New''. Un nuovo elemento verrà creato aggiungendo un nuovo valore all'array mediante il metodo ''.Add()''.
 
'''Public Sub Button1_Click()
 
 
  Dim bb As <FONT color=#B22222>New</font> Byte<FONT color=#B22222>[]</font>  <FONT color=#006400>' ''All'interno delle paretesi quadre non è indicato alcun valore''</font>
 
 
 
  For j = 0 To 9
 
 
<FONT color=#006400>' ''Ad ogni ciclo viene Assegnato un valore all'array all'elemento successivo all'ultimo precedentemente creato,''
 
' ''e quindi viene creato un nuovo elemento:''</font>
 
      bb.<FONT color=#B22222>Add</font>(j)
 
 
  Next
 
 
'''End'''
 
 
 
 
 
==Definizione dinamica (incremento) della quantità degli elementi==
 
 
 
===In un array monodimensionale===
 
'''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'''
 
 
 
 
 
 
 
===In 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'''
 
 
 
 
 
 
 
==Definizione esplicita successiva della quantità degli elementi<font>==
 
===In 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'''
 
 
 
 
 
===In 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