Ejercicio de arreglos (Ruby)

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
ExpLin_11
Forista Nuevo
Forista Nuevo
Mensajes: 35
Registrado: Dom Nov 13, 2011 10:28 pm

Ejercicio de arreglos (Ruby)

Mensaje por ExpLin_11 »

Hola a todos.

Estoy realizando un ejercicio en ruby, en el cual genero una serie de numeros aleaorios y los coloco en un arreglo y tengo que calcular cuantas veces se repite cada numero, e imprimirlo, pero convertidos en asteriscos, o sea:

Si el numero es 5, tengo que imprimir: 5 => *****

Esa parte del ejercicio, ya la calcule, el problema es que me pide que imprima los que mas se repitieron, pero no de forma consecutiva. Me paso a explicar con el codigo.

Código: Seleccionar todo

max=10
aux=[]

for i in 0..max-1
  aux[i]=rand(25)
end
vec=[]

for i in 0..max-1
  vec[i]=0
end

for i in 0..aux.size-1
  for j in 0..vec.size-1
    if aux[i]==j
      vec[j]=vec[j]+1
    end
  end
end

puts aux.inspect
######################################
i=0
while i<max
  print "#{i} "
  #print "#{vec[i]}"
  f=vec[i]
  j=0
  while j<f
    print "*"
    j=j+1
  end
  puts "\n"
  i=i+1
end
Lo anterior me imprime:
[3, 5, 3, 7, 3, 9, 4, 1, 2, 2]
0
1
2 **
3 ***
4 *
5 *
6
7 *
8
9 *
Yo lo que busco es que me imprima los numeros mas repetidos de mayor a menor pero manteniendo la misma estructura, por ejemplo:
[3, 5, 3, 7, 3, 9, 4, 1, 2, 2]
3 ***
2 **
5 *
7 *
9 *
4 *
0
1
8

Se entiende. Agradezco cualquier sugerencia.

Gracias.

Avatar de Usuario
Deckon
Moderador
Moderador
Mensajes: 3273
Registrado: Dom Abr 01, 2007 8:00 am
Ubicación: México, Estado de México

Re: Ejercicio de arreglos (Ruby)

Mensaje por Deckon »

de buenas a primeras se me ocurre una iteración que compare dígito a dígito mediante condicionales y que haga la cuenta de cuantas veces encuentra el mismo numero en el arreglo, una ves con esa información puedes hacer el ordenamiento de mayor a menor y aplicar el resto de tu algoritmo...lo cual seria mas sencillo si aprovecharas la POO.
Reglamento del Foro | Temas mas Preguntados | WikiEL | GitHub
Linux User #:406092
Manjaro | Asus P8z77-v | i5-2310 | Nvidia GeForce Gt 610 | Hp Ultrabook Folio 13

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje