Visual Basic - agrupar numeros iguales

Life is soft - evento anual de software empresarial
   
Vista:

agrupar numeros iguales

Publicado por Romina (5 intervenciones) el 17/06/2008 23:12:30
Hola, quería saber como tendría que ser una función para que en un arreglo unidimensional de 5 posiciones (con nº enteros dentro del mismo) me devuelva el mismo arreglo pero ordenado de manera tal que en las primeras posiciones del arreglo me queden todos aquellos nº iguales y del lado derecho, los que son distintos (pudiendo no haber iguales o distintos).
Esto lo necesitamos para un trabajo en la facultad, agradecemos pronta respuesta
saludos
Romina Nardi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:agrupar numeros iguales

Publicado por yo (14 intervenciones) el 17/06/2008 23:26:19
Hola, aver si lo entiendo

me devuelva el mismo arreglo pero ordenado de manera tal que en las primeras posiciones del arreglo me queden todos aquellos nº iguales y del lado derecho, los que son distintos
¿En las primeras posiciones.... y del lado derecho?

(pudiendo no haber iguales o distintos).
¿cual es la diferencia?

En qué facultad estudias nena, porque si eso es un trabajo de facultad, yo soy obispo de la iglesia católica!

PD. Lo descrubrí, ¡eres de centro-sudamerica!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por romina (5 intervenciones) el 18/06/2008 00:34:11
Disculpame pero no te explique bien para no volarles la cabeza, pero eso es solo parte de un programa mas grande, y me estoy trabando con eso, y se ve que a vos tampoco te da el mate porque ni siquiera entendiste que estoy pidiendo y te estas quejando de algo que no sabes. Si tenes la respuesta te agradezco y sino gracias igual, pero la idea del foro es contestar preguntas, no decir si lo que se pregunta es una boludez o no.
Te vuelvo a explicar lo que necesito copn un ejemplo
si tengo 2,6,2,3,1 quiero que me quede 2,2,y el resto en cualquier orden
otro ejemplo por si no entendes
1,5,3,5,3 quiero que me quede 5,5.,3,3,1 o 3,3,5,5,1
espero haber sido clara
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por pacopaz (173 intervenciones) el 18/06/2008 01:21:05
Private Sub Command1_Click()

Dim Original(0 To 4)
Dim Control(0 To 4, 0 To 1)
Dim Resultante(0 To 4)
Dim i, j, k, l, m As Integer
Dim h As Boolean

Original(0) = 2
Original(1) = 5
Original(2) = 1
Original(3) = 5
Original(4) = 1

l = 0
m = 0
For i = 0 To UBound(Original)
h = False
For j = 0 To UBound(Control)
If (Original(i) = Control(j, 0)) And (Not h) And (Control(j, 1) = 0) Then
h = True
For k = 0 To UBound(Original)
If Original(i) = Original(k) Then
Resultante(m) = Original(k)
m = m + 1
End If
Control(j, 1) = 1
Next k
End If
Next j
If Not h Then
Control(l, 0) = Original(i)
Control(l, 1) = 0
l = l + 1
End If
Next i
For j = 0 To 3
If (Control(j, 1) = 0) And (m < 5) Then
Resultante(m) = Control(j, 0)
m = m + 1
End If
Next j

End Sub

Espero que te sirva. El resultado está en la matriz 'Resultante'

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por Pedro Luis (878 intervenciones) el 18/06/2008 12:58:22
Quiero haceros notar que si ordenamos la matriz (burbuja), ademas de quedar ordenada los iguales estarán juntos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por pacopaz (173 intervenciones) el 18/06/2008 17:27:55
Pedro Luis:
Si usas ese método, ordenas, si y quedan agrupados también, pero si el 1 se repite una vez (por poner el ejemplo más extremo, hablando de enteros positivos), quedaría en la primera posición y los demás números quedarían hacia la derecha, por lo que los más repetidos no quedarían a la extrema izquierda, que es lo que se pretende.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por romina (5 intervenciones) el 18/06/2008 23:38:37
Muchisimas gracias, anda a la perfeccion, pasa que yo lo queria ordenar dentro del mismo arreglo, cambiando las posiciones y ahi se me enquilombaba todo, no lo habia pensado de esta manera, muy agradecida ya que estoy muy corta de tiempo y es un trabajo que tengo que entregar y lo tenia parado por este ordenamiento, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar numeros iguales

Publicado por Romina (5 intervenciones) el 19/06/2008 16:55:51
Vos sabes que pense uqe andaba, pero se desborda la matriz 'Resultante? cuando tengo mas de 2 numeros iguales, o sea si tengo 3 veces o 4 veces el mismo número, me di cuenta despues de chequearlo bien, igualmente me sirve te agradezco un monton ya encontrare ese pequeño error.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar