Differenze tra le versioni di "Array dinamici – creazione e riempimento"
Riga 21: | Riga 21: | ||
'''End''' | '''End''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==Definizione esplicita successiva della quantità degli elementi<font>== | ||
+ | In questo caso la quantità di elementi di un array non è definita con la dichiarazione, ma lo diviene successivamente. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===In un array monodimensionale=== | ===In un array monodimensionale=== | ||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | Dim | + | Dim qnt As String |
Dim nu As Integer | Dim nu As Integer | ||
− | Dim | + | Dim ii As Integer[] <FONT color=#006400>' ''dichiara l'array, ma senza dimensionarlo''</font> |
− | |||
− | |||
− | For nu = 0 To | + | <FONT color=#006400>' ''dimensiona "ora" l'array, in questo esempio con un "InputBox":''</font> |
+ | qnt = InputBox("Inserisci tu la dimensione delle righe dell'array:") | ||
+ | ii = New Integer[Val(qnt)] | ||
+ | |||
+ | For nu = 0 To ii.Max | ||
<FONT color=#006400>' '' riempie ogni elemento dell'array:''</font> | <FONT color=#006400>' '' riempie ogni elemento dell'array:''</font> | ||
− | + | ii[nu] = nu | |
− | Print | + | Print ii[nu] |
Next | Next | ||
Riga 93: | Riga 51: | ||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | <FONT color=# | + | Dim ii As Integer[] <FONT color=#006400>' ''dichiara l'array, ma senza definirne la quantità dei propri elementi''</font> |
− | Dim rig | + | Dim rig As String |
− | Dim nuR, nuC As Integer | + | Dim col, nuR, nuC As Integer |
<FONT color=#006400>' ''dimensiona "ora" l'array:''</font> | <FONT color=#006400>' ''dimensiona "ora" l'array:''</font> | ||
Riga 101: | Riga 59: | ||
col = InputBox("Inserisci tu la dimensione delle colonne dell'array:") | col = InputBox("Inserisci tu la dimensione delle colonne dell'array:") | ||
− | <FONT color=#B22222> | + | <FONT color=#B22222>ii = New Integer[Val(rig), col]</font> |
For nuR = 0 to rig - 1 | For nuR = 0 to rig - 1 | ||
For nuC = 0 To col - 1 | For nuC = 0 To col - 1 | ||
− | + | ii[nuR, nuC] = nuC | |
− | Print | + | Print ii[nuR, nuC] |
Next | Next | ||
Next | Next | ||
'''End''' | '''End''' |
Versione delle 17:08, 16 mag 2013
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.
Indice
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à generato (incrementando così il numero di elementi dell'array in quel momento) aggiungendo un nuovo valore all'array mediante il metodo .Add().
Public Sub Button1_Click() Dim bb As New Byte[] ' All'interno delle paretesi quadre non è indicato alcun valore For j = 0 To 9 ' Ad ogni ciclo viene assegnato un valore all'array, ' e quindi viene creato un nuovo elemento di indice successivo all'ultimo che era stato generato: bb.Add(j) Next End
Definizione esplicita successiva della quantità degli elementi
In questo caso la quantità di elementi di un array non è definita con la dichiarazione, ma lo diviene successivamente.
In un array monodimensionale
Public Sub Button1_Click() Dim qnt As String Dim nu As Integer Dim ii As Integer[] ' dichiara l'array, ma senza dimensionarlo ' dimensiona "ora" l'array, in questo esempio con un "InputBox": qnt = InputBox("Inserisci tu la dimensione delle righe dell'array:") ii = New Integer[Val(qnt)] For nu = 0 To ii.Max ' riempie ogni elemento dell'array: ii[nu] = nu Print ii[nu] Next End
In un array multidimensionale
Public Sub Button1_Click() Dim ii As Integer[] ' dichiara l'array, ma senza definirne la quantità dei propri elementi Dim rig As String Dim col, 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:") ii = New Integer[Val(rig), col] For nuR = 0 to rig - 1 For nuC = 0 To col - 1 ii[nuR, nuC] = nuC Print ii[nuR, nuC] Next Next End