Originariamente inviato da LMondi
Sì hai ragione,
io ho tentato di semplificare considerando solo le coppie uguali, mentre i n° diversi sono ignorati (nell'esempio i numeri doppi sarebbero 24-52-6, cioè tutti).
Invece di due matrici si potrebbe anche fare con due cicli For inversi.
Ma anche così mi risulta difficile conseguire un risultato chiaro.
Forse il sistema migliore potrebbe essere una Collection, ma si puo' anche utilizzare un Array dinamico, che andiamo ad incrementare di un elemento ogni volta che "troviamo" un numero "nuovo"...
Comunque si deve utilizzare un Array anche per la lista iniziale dei valori, se no come si fa a "scorrerli" ?
Pare che MagicoLotto sia un po' refrattario ad Array e cicli For
codice:
Private Sub Command1_Click()
Dim n(1 To 6) As Integer
Dim NU As Integer, U() As Integer
Dim i As Integer, j As Integer, GiaPresente As Boolean
n(1) = 24
n(2) = 52
n(3) = 24
n(4) = 6
n(5) = 52
n(6) = 6
ReDim U(1)
U(1) = n(1)
NU = 1
For i = 2 To 6
GiaPresente = False
For j = 1 To NU
If n(i) = U(j) Then GiaPresente = True: Exit For
Next
If GiaPresente = False Then
NU = NU + 1
ReDim Preserve U(NU)
U(NU) = n(i)
End If
Next
Debug.Print "Ci sono "; NU; " numeri unici:"
For i = 1 To NU
Debug.Print U(i)
Next
End Sub