ciao ragazzi
ho un problema che vi spiego come meglio posso
ho una list box riempiata da moltitudine di righe ogni riga è composta cosi
data.n1.n2.n3.n4.n5
esempio
25/10/2010.20.21.22.23.24
ovviamente i numeri cambiano da riga in riga
io devo trovare selezionarein tutte le righe la frequenza degli ambi
ogni riga restituisce 10 ambi
cioè
codice:
For i = 0 To List1.ListCount - 1
numeri = List1.List(i)
Matrice = Split(numeri, ".", -1, vbTextCompare)
For n1 = 1 To UBound(Matrice) - 1
For n2 = n1 + 1 To UBound(Matrice)
nn1 = Matrice(n1)
nn2 = Matrice(n2)
in questo modo ottengo tutti gli ambi
e fin qui funziona tutto bene
adesso devo trovare tutti gli ambi ripetuti quindi la loro frequenza
dichiaro
codice:
max1 = 0
max2 = 0
maxvolte = 0
e poi
codice:
ambi(nn1, nn2) = ambi(nn1, nn2) + 1
maxvolte = ambi(nn1, nn2)
DoEvents
strSortite = ""
For Y = 1 To maxvolte
strSortite = strSortite
Next
List5.AddItem maxvolte & " Sortite del " & CStr(nn1) & " " & CStr(nn2)
totale codice elaborato
codice:
Dim Matrice() As String
Dim ambi(90, 90) As Long
max1 = 0
max2 = 0
maxvolte = 0
For i = 0 To List1.ListCount - 1
numeri = List1.List(i)
Matrice = Split(numeri, ".", -1, vbTextCompare)
For n1 = 1 To UBound(Matrice) - 1
For n2 = n1 + 1 To UBound(Matrice)
' List5.AddItem Matrice(n1) & " " & Matrice(n2)
max1 = n1
max2 = n2
maxvolte = 0
nn1 = Matrice(n1)
nn2 = Matrice(n2)
If nn1 <> 0 And nn2 <> 0 Then
ambi(nn1, nn2) = ambi(nn1, nn2) + 1
maxvolte = ambi(nn1, nn2)
DoEvents
strSortite = ""
For Y = 1 To maxvolte
strSortite = strSortite
Next
List5.AddItem maxvolte & " Sortite del " & CStr(nn1) & " " & CStr(nn2)
End If
Next n2
Next n1
Next i
il problema e che li conteggia
ma nella lista5( raccoglitore delle frequenze) mi mette si le frequenze
ma in modo ripetuto
cioè se troeva un ambo frequente 7 volte
nella lista lo scrive sette volte
lo mette fra gli ambi che hanno frequenza 1
lo mette negli ambi che hanno frequenza 2
lo mette negli ambi che hanno frequenza 3
ect ect ect
lo stesso per tutti gli altri
come posso fare?
grazie anticipatamente.