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
e poicodice:max1 = 0 max2 = 0 maxvolte = 0
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.

Rispondi quotando
