Differenze tra le versioni di "Array annidati"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Un array "annidato" (''Embedded array'' ) è una matrice che viene allocata direttamente all'interno della variabile di un oggetto array. Essa non può essere ''locale'', e pe...")
 
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Un array "annidato" (''Embedded array'' ) è una matrice che viene allocata direttamente all'interno della variabile di un oggetto array. Essa non può essere ''locale'', e pertanto va dichiarata prima della routine, all'esterno.
+
Un array "annidato" (''Embedded array'' ) è una matrice che viene allocata direttamente all'interno della variabile di un oggetto array.
<BR>Le dimensioni ed il numero degli elementi della matrice ''annidata'' sono definiti con la notazione:
+
<BR><U>Essa non può essere ''locale''</u>, e pertanto va dichiarata prima della routine, all'esterno, come "''globale'' ".
  ''<Font Color=B22222>variabile[m, n]</font>''.
+
 
 +
Le dimensioni ed il numero degli elementi della matrice ''annidata'' sono definiti con la notazione:
 +
  <Font Color=B22222>variabile[numero_elementi]</font>
 +
Al riguardo gli array "annidati" possono essere monodimensionali:
 +
array[n]
 +
o multidimensionali:
 +
array[m, n]
 +
array[m, n, z]
 +
array[etc...]
 
Esempio:  
 
Esempio:  
 
  <Font Color=gray>' ''Viene dichiarata la matrice e definite le sue dimensioni ed il numero degli elementi:''</font>
 
  <Font Color=gray>' ''Viene dichiarata la matrice e definite le sue dimensioni ed il numero degli elementi:''</font>
  Private matrix[5, 5] As Integer
+
  Private bb[2, 3, 4] As Byte
 
   
 
   
 
   
 
   
 
  Public Sub Main()
 
  Public Sub Main()
 
   
 
   
  <Font Color=gray>' ''Qui viene usata la matrice "annidata":''</font>
+
  <Font Color=gray>' ''Viene assegnato un valore ad uno specifico elemento:''</font>
   matrix[....
+
   array[1, 2, 3] = 55
   ......
+
 
 +
<Font Color=gray>' ''Viene mostrato il numero complessivo degli elementi posseduti dal array annidato, nonché il valore assegnato ad uno specifico elemento:''</font>
 +
   Print bb.Count, bb[1, 2, 3]
 +
 +
End
 
   
 
   
 
  '''End'''
 
  '''End'''
Riga 19: Riga 31:
 
===Creazione di una matrice ''annidata''===
 
===Creazione di una matrice ''annidata''===
 
Nel seguente esempio definiamo un array "annidato" di due righe e due colonne per un totale di quattro elementi:
 
Nel seguente esempio definiamo un array "annidato" di due righe e due colonne per un totale di quattro elementi:
  Private a[2, 2] As String
+
  Private bb[3, 2] As Byte
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()  <Font Color=gray>' ''Scrive la matrice "annidata"''</font>
+
  '''Public''' Sub Main()  <Font Color=gray>' ''Scrive la matrice "annidata"''</font>
 
   
 
   
   Dim x, y As Integer
+
   Dim x, y As Byte
  Dim b As String
+
   
 
+
<Font Color=gray>' ''Essendo bidimensionale l'array "annidato", ci serviamo di due cicli "For" per assegnare un valore a ciascun suo elemento:'</font>
   For x = 0 To 1
+
   For x = 0 To 2
 
     For y = 0 To 1
 
     For y = 0 To 1
+
       bb[x, y] = x * y
<Font Color=gray>' ''Immettiamo quattro nomi.''
 
' ''Per esempio, i primi due potrebbero essere un nome di animale ed un nome di pianta che iniziano per "A";
 
' ''gli altri due potrebbero essere un nome di animale ed un nome di pianta che iniziano per "B"'':</font>
 
      b = InputBox("Immetti un nome: ")
 
       a[x, y] = b
 
 
     Next
 
     Next
 
   Next
 
   Next
 
   
 
   
  '''End'''
+
  <Font Color=gray>' ''Infine legge i valori assegnati all'array "annidato"'':</font>
+
   For x = 0 To 2
+
     For y = 0 To 1
'''Public''' Sub Button2_Click()  <Font Color=gray>' ''legge la matrice "annidata"''</font>
+
       Print bb[x, y]
 
   Dim c, d As Integer
 
 
  For c = 0 To 1
 
     For d = 0 To 1
 
       Print a[c, d]
 
 
     Next
 
     Next
  Print "------"
+
    Print "------"
 
   Next
 
   Next
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione attuale delle 05:50, 17 gen 2024

Un array "annidato" (Embedded array ) è una matrice che viene allocata direttamente all'interno della variabile di un oggetto array.
Essa non può essere locale, e pertanto va dichiarata prima della routine, all'esterno, come "globale ".

Le dimensioni ed il numero degli elementi della matrice annidata sono definiti con la notazione:

variabile[numero_elementi]

Al riguardo gli array "annidati" possono essere monodimensionali:

array[n]

o multidimensionali:

array[m, n]
array[m, n, z]
array[etc...]

Esempio:

' Viene dichiarata la matrice e definite le sue dimensioni ed il numero degli elementi:
Private bb[2, 3, 4] As Byte


Public Sub Main()

' Viene assegnato un valore ad uno specifico elemento:
 array[1, 2, 3] = 55
  
' Viene mostrato il numero complessivo degli elementi posseduti dal array annidato, nonché il valore assegnato ad uno specifico elemento:
 Print bb.Count, bb[1, 2, 3]

End

End

Riguardo ai valori assegnabili alle Enumerazioni si veda anche la pagina relativa alle Espressioni costanti.


Creazione di una matrice annidata

Nel seguente esempio definiamo un array "annidato" di due righe e due colonne per un totale di quattro elementi:

Private bb[3, 2] As Byte


Public Sub Main()   ' Scrive la matrice "annidata"

 Dim x, y As Byte
   
' Essendo bidimensionale l'array "annidato", ci serviamo di due cicli "For" per assegnare un valore a ciascun suo elemento:'
 For x = 0 To 2
   For y = 0 To 1
     bb[x, y] = x * y
   Next
 Next

' Infine legge i valori assegnati all'array "annidato":
 For x = 0 To 2
   For y = 0 To 1
     Print bb[x, y]
   Next
   Print "------"
 Next

End