Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Conteggio numeri in una  listbox
Forum - Visual Basic 6 - Conteggio numeri in una listbox

Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 20:48
Mercoledì, 22/10/2008
Ciao ragazzi

in una  listbox ho una sequenza di numeri posti
nella lista in righe diferse in questo modo :
25 26 27
27 28 29
45 46 47
25 26 27

ect ect

allora  io dovrei conteggiare  i numeri  e vedere quante volte sono presenti nella lista

PROCEDO IN QUESTO MODO  :

Codice sorgente - presumibilmente VB.NET

  1. Dim i As Integer
  2. Dim conteggio(49), ix As Long
  3. Dim Matrice() As String
  4.  
  5. For i = 0 To List2.ListCount - 1
  6.   numeri = List2.List(i)
  7.    Matrice = Split(numeri, " ", -1, vbTextCompare)
  8.     For N = 0 To UBound(Matrice)
  9.  
  10.  
  11.  
  12.  
  13.     conteggio(Matrice(N)) = conteggio(Matrice(N)) + 1
  14.  
  15.  
  16.  
  17. For ix = 1 To 49
  18.  
  19. List8.AddItem " Il numero " & " " & ix & " è stato ritrovato per  : " & conteggio(ix) & " " & " volte"
  20.  
  21. End If
  22. Next ix
  23.     Next N
  24. Next i



I RISULTATI OTTENUTI vengono scritti nela list8

pero' ce qualcosa che  no va
nella lista  mi scrive  valori non validi  e  per di piu li scrive  + volte


mi aiutate?

PM Quote
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 21:38
Mercoledì, 22/10/2008
risolto

scusate  x  il post inutile

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:51
Mercoledì, 22/10/2008
Testo quotato

Postato originariamente da magicolotto:

risolto

scusate  x  il post inutile



LoL
avevo fatto un miscuglio di cicli for e contava i numeri, solo che più volte del tipo usciva:
il 45 è presente 1 volta
il 27 è presente 3 volte
il 27 è presente 3 volte
...

per risolvere sto probl mi sono regolato con delle msgbox ma provando il programma mi sono fot*uto da solo perchè mi venivano maree di msgbox, quindi sono stato costretto a terminare il processo di vb perdendo tutti i cicli ke avevo fatto, allora mi ci sono rimesso a farli e alla fine ci sono riuscito, dopo circa 20 minuti avevo risolto il problema, peccato che poi ho visto ke avevi già risolto...
:asd::asd::asd:

Comunque sia (forse tu hai fatto meglio di me, se si posta pure) per chiunque servisse posto sto miscuglio xD (aggiungete list1 e list2 un command1 e nel command mettete:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. Dim i As Integer, j As Integer, cont As Integer, x As Integer, k As Integer, num() As String, uscito As Boolean
  3.  
  4. For x = 0 To List1.ListCount - 1
  5. num = Split(List1.List(x), " ")
  6.    For i = 0 To UBound(num())
  7.    cont = 0
  8.      For j = 0 To List1.ListCount - 1
  9.      If InStr(1, List1.List(j), num(i)) > 0 Then
  10.      cont = cont + 1
  11.      End If
  12.      DoEvents
  13.      Next j
  14.         If List2.ListCount = 0 Then
  15.         List2.AddItem num(i) & " è uscito: " & cont & " volte."
  16.         Else
  17.         uscito = False
  18.           For k = 0 To List2.ListCount - 1
  19.            If InStr(1, List2.List(k), num(i)) > 0 Then
  20.            uscito = True
  21.            End If
  22.            DoEvents
  23.           Next k
  24.         If uscito = False Then
  25.         List2.AddItem num(i) & " è uscito: " & cont & " volte."
  26.         Else
  27.         uscito = False
  28.         End If
  29.         End If
  30.         DoEvents
  31.    Next i
  32.    DoEvents
  33. Next x
  34. End Sub


PM Quote
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 22:00
Mercoledì, 22/10/2008
Codice sorgente - presumibilmente VB.NET

  1. For i = 0 To List6.ListCount - 1
  2.   numeri = List6.List(i)
  3.    Matrice = Split(numeri, " ", -1, vbTextCompare)
  4.     For N = 0 To UBound(Matrice)
  5.     conteggio(Matrice(N)) = conteggio(Matrice(N)) + 1
  6.     Next N
  7. Next i
  8.  For ix = 1 To 49
  9.   If conteggio(ix) >= 1 Then
  10. 'List8.AddItem " Il numero " & " " & ix & " è stato ritrovato per  : " & conteggio(ix) & " " & " volte"
  11.   List8.AddItem conteggio(ix) & " " & "Frequenza del" & " " & ix
  12.   End If
  13. Next ix


Ultima modifica effettuata da magicolotto il 22/10/2008 alle 22:00
PM Quote