Ciao
In un array dovrei trovare, se esistono, elementi uguali e se si lasciarne solo uno. Eliminando i doppioni
Grazie
Ciao
Ciao
In un array dovrei trovare, se esistono, elementi uguali e se si lasciarne solo uno. Eliminando i doppioni
Grazie
Ciao
L'array (o la matrice) di input è ordinato in base al campo che desideri confrontare?
Se non lo è, il nuovo array deve essere ordinato o deve mantenere gli elementi con lo stesso ordine dell'input?
Di che quantità si tratta (circa)?
L'array è una matrice numerica(n righe X 2 colonne)) non ordinata (ma la posso ordinare). Dei valori si ripetono nella prima colonna (non è detto anche nella seconda), io vorrei eliminare i doppi mantenendo uno dei due valori (indipendentemente dal valore della stessa riga nella seconda colonna )
Spero di essere stato chiaro...
Grazie mille Ciao Marco
Se sei sicuro che non ti interessa di quale valore tenere della seconda colonna, dopo che hai ordinato la VecchiaMatrice fai così...
Volendo, anzichè scrivere in una nuova matrice, puoi utilizzare solamente la vecchia (togli solo il Redim e mettilo una sola volta alla fine)codice:Dim NuovaMatrice() Dim ContatoreNoDoppi As Long Dim I As Long ContatoreNoDoppi = 0 Redim Preserve NuovaMatrice(0, 1) NuovaMatrice(0, 0) = VecchiaMatrice(0, 0) NuovaMatrice(0, 1) = VecchiaMatrice(0, 1) For I = 1 To ElementiVecchiaMatrice If NuovaMatrice(ContatoreNoDoppi, 0) <> VecchiaMatrice(I, 0) Then ContatoreNoDoppi = ContatoreNoDoppi + 1 Redim Preserve NuovaMatrice(ContatoreNoDoppi, 1) NuovaMatrice(ContatoreNoDoppi, 0) = VecchiaMatrice(I, 0) NuovaMatrice(ContatoreNoDoppi, 1) = VecchiaMatrice(I, 1) End If Next I
![]()