Oppure

Loading
18/11/17 9:21
piter123
Buongiorno, ho un matrice ad esempio di 10 elementi, devo inserire un nuovo dato sulla posizione 1.
prima però devo spostare il vecchio dato della posizione 1 alla 2, quello della 2 sulla posizione 3 e cosi via perdendo così alla fine un dato a favore del nuovo.

Invece di fare un ciclo for/next per traslare gli elementi della matrice e poi inserire il nuovo dato, esiste un comando diretto per traslarla ?

dim matr(10)

for i=1 to 9
matr(11-i)=matr(10-i)
next i

matr(1) = nuovo dato
aaa
18/11/17 10:00
nessuno
Intanto ti ricordo che gli elementi partono dall'indice 0

Puoi scrivere

Array.Copy(mat, 0, mat, 1, mat.Length - 1)

e quindi

mat(0) = nuovo dato
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
18/11/17 10:03
piter123
mille grazie.

Esiste anche un comando per fare direttamente la media di una matrice, magari da pozione a posizione ?

Ultima modifica effettuata da piter123 18/11/17 10:05
aaa
18/11/17 10:17
nessuno
Non fare confusione tra matrici e vettori ...

Non dovresti fare più richieste nello stesso thread, si fa confusione ...

La media del tuo vettore potrebbe essere

Dim media As Double = mat.Where(Function(v) v > 0).Average()
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
18/11/17 10:19
piter123
si scusa, hai ragione


e se la matrice avesse piu' dimensioni ?

ad esempio matr(1,2,10) e devo traslare il dato da matr(1,2,9) in matr(1,2,10) ... matr(1,2,8) in matr(1,2,9)...

grazie
Ultima modifica effettuata da piter123 18/11/17 10:20
aaa
18/11/17 16:43
piter123
ho fatto delle prove e utilizzando Array.Copy(mat, 0, mat, 1, mat.Length - 1) in una matrice multidimensioni sposta tutte le dimensioni
Ultima modifica effettuata da piter123 18/11/17 20:00
aaa