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

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
  
  
==Incremento dinamico della quantità degli elementi==
+
==Definizione dinamica (incremento) della quantità degli elementi==
  
 
===In un array monodimensionale===
 
===In un array monodimensionale===
Riga 68: Riga 68:
  
  
==Definizione successiva della quantità degli elementi<font>==
+
==Definizione esplicita successiva della quantità degli elementi<font>==
+
===In un array monodimensionale===
Esempio con un array monodimensionale:
 
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
Riga 89: Riga 88:
  
  
Esempio con un array multidimensionale:
+
===In un array multidimensionale===
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   

Versione delle 11:29, 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.


Definizione dinamica (incremento) 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


Definizione esplicita successiva della quantità degli elementi

In 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


In 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