Oppure

Loading
05/03/08 15:09
lukino188
salve, e da due ore che ci sto uscendo pazzo..

dunque il mio prof. ci ha dato un esercizio il quale richiede:
dato dei numeri inseriti in un vettore, stampare i numeri trovati doppioni su una textbox..sembrava facile per me ma non ci riesco..

grazie per l'aiuto!!

aaa
05/03/08 15:13
Il Totem
Basta una funzione sola: Array.IndexOf. Nel suo secondo overload accetta tre parametri: il primo è il vettore da analizzare, il secondo il valore da cercare e il terzo l'indice a cui iniziare la ricerca; restituisce un numero Integer che rappresenta la prima posizione (a base 0) del valore nell'array o -1 se la ricerca non ha prodotto risultati. Ora usa un po' d'immaginazione e il gioco è fatto...
aaa
05/03/08 16:01
lukino188
ok grazie..
aaa
05/03/08 16:07
lukino188
un informazione,in un altro modo non c'è?
aaa
06/03/08 16:12
Il Totem
Non ti ho detto che esiste solo un modo, ti ho solo suggerito di usare quella funzione. In questo momento mi vengono in mente almeno due metodi per risolverlo.

Il primo consiste nel vedere con IndexOf se, preso un valore dall'array, non esistano valori uguali successivi, ossia se IndexOf restituisse -1 in una ricerca a partire dalla posizione successiva.
Dim A() As Int32
'...
For I As Int16 = 0 To A.Length - 1
  If I < A.Length - 1 Then
    If Array.IndexOf(A, A(I), I + 1) > -1 Then
      'Il Valore A(I) è ripetuto, poichè ne esiste una copia successiva
    End If
  End If
Next


Il secondo consiste nello svuotare gradualmente l'array da analizzare e mettere i valori tolti in un altro array, quindi constatare se i due contengono valori uguali.
Dim A(), B(), V As Int32
'...
For I As Int16 = 0 To A.Length - 1
  V = A(I)
  A(I) = -1 'Annulla il valore
  B(I) = V
  If Array.IndexOf(B, V) >= 0 And Array.IndexOf(A, V) >= 0 Then
    'Il valore è contenuto in entrambi, perciò è doppio
  End If
Next

aaa
06/03/08 16:44
lukino188
credo di utilizzare l'ultimo grazie mille!!
aaa