1 Visual Basic contar sin incluir los repetidos
-
Hola!, en realidad mi problema va más allá, pero estoy tratando de hacer funcionar mi cerebro...
Por lo que con esta ayudita creo que podría avanzar sólo.
1.-Cómo podría contar la cantidad de lotes en esta tablita.
LOTES CANTIDAD
1 C2A 100
2 C7 50
3 C2A 50
4 C2A 50
5 C8 50
6 C7 50
7
Es decir, el resultado sería 3 .. (el c2a, c7 y el c8)
no se como sería la lógica.. por ahi intenté con un do while, hasta con un do while dentro de otro... a lo mejor tendría que usar un arreglo?? la verdad no estoy tan metido en programacion pero creo q puedeo entender si me explican.. porfis -
Si entendí bien, deberías:
1.- Crear una lista secundaria para almacenar los resultados
2.- Recorrer la lista (con un FOR/NEXT)
3.- Ver si el ítem ya existe en la secundaria.
4.- Si existe, sumás para totalizar, sino lo añadís como ítem nuevo.
Sería algo como esto:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim j As Integer
Dim Lotes As New Generic.List(Of String)
Dim Totales As New Generic.List(Of Integer)
For i = 0 To lstLotes.Items.Count - 1
j = Lotes.IndexOf(lstLotes.Items(i))
If j < 0 Then
Lotes.Add(lstLotes.Items(i))
Totales.Add(lstCant.Items(i))
Else
Totales.Item(j) += lstCant.Items(i)
End If
Next
For i = 0 To Lotes.Count - 1
lstTots.Items.Add(Lotes(i) & " " & Totales(i))
Next
End SubÚltima edición por gaksoftware; 12/10/2012 a las 14:32
