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

Da Gambas-it.org - Wikipedia.
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.
+
Esporremo qui i casi 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.
  
  
  
==Array monodimensionale senza definizione della quantità dei propri elementi==
+
==Incremento dinamico della quantità degli elementi==
  
 +
===In un array monodimensionale===
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
Riga 44: Riga 45:
  
  
==Incremento dinamico degli elementi di un array multidimensionale==
+
===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.
 
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'':
 
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'':

Versione delle 10:26, 19 ago 2012

Esporremo qui i casi 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.


Incremento dinamico della quantità degli elementi

In un array monodimensionale

Public Sub Button1_Click()

Dim nu As Byte
Dim multdimArr As New Byte[]   ' dichiara l'array, ma senza definirne la quantità dei propri elementi
 
' Incrementa dinamicamente la quantità degli elementi dell'array
   For nu = 0 To 37
      multdimArr.Add(nu)
   Next

' verifica:
   For nu = 0 To 37
      Print multdimArr[nu]
   Next
   
End

o anche:

Public Sub Button1_Click()

 Dim nu As Byte
 Dim multdimArr As Byte[]   ' dichiara l'array, ma senza definirne la quantità dei propri elementi

' Incrementa dinamicamente la quantità degli elementi dell'array
   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       ' Si comincia con l'avere una riga


Public Sub Button2_Click()

' Incrementa dinamicamente la quantità delle righe dell'array
 multdimArr = New Integer[rig, 2]

' Pone il valore numerico medesimo nella nuova riga della 1a colonna:
  multdimArr[rig - 1, 1] = rig
     
  Print multdimArr[rig - 1, 1]
 
 Inc rig

End


Array con definizione successiva della quantità dei propri elementi

Esempio con un array monodimensionale:

Public Sub Button1_Click()

 Dim ind1 As Integer = 38
 Dim nu As Integer
 Dim multdimArr As Integer[]   ' dichiara l'array, ma senza dimensionarlo

' dimensiona "ora" l'array:
   multdimArr = New Integer[ind1]

   For nu = 0 To multdimArr.Max
'  riempie ogni elemento dell'array:
     multdimArr[nu] = nu
     Print multdimArr[nu]
   Next
	   
End


Esempio con un array multidimensionale:

Public Sub Button1_Click()

 Dim multdimArr As Integer[]
 Dim rig, col As Integer
 Dim nuR, nuC As Integer

' dimensiona "ora" l'array:
 rig = InputBox("Inserisci tu la dimensione delle righe dell'array:")
 col = InputBox("Inserisci tu la dimensione delle colonne dell'array:")

  multdimArr = New Integer[rig, col]


  For nuR = 0 to rig - 1
    For nuC = 0 To col - 1
      multdimArr[nuR, nuC] = nuC
      Print multdimArr[nuR, nuC]
    Next
  Next

End