Programa en ruby

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

Moderadores: akodo, maiku

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

Programa en ruby

Mensaje por ExpLin_11 » Vie Ene 30, 2015 7:13 pm

Hola a todos.

Estoy haciendo un ejercicio en donde necesito que imprima algo asi:

1
12
123
1234
12345
1234
123
12
1

El codigo que estoy usando es el siguiente:

Código: Seleccionar todo

r=1
begin
  if r<=5
    cont=1
    begin
      puts cont
      cont+=1
    end until cont<r
  else
    cont=1
    begin
      puts cont
      cont+=1
    end until cont+r==10
    puts ""
    r=r+1
  end
end while r>9
El problema es al ejecutarlo no hace lo que deberia y entra en un ciclo infinito,
y no se donde esta el problema.

Acepto cualquier sugerencia. Gracias
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Programa en ruby

Mensaje por hipersayan_x » Vie Ene 30, 2015 8:11 pm

Prueba con esto:

Código: Seleccionar todo

# Numero máximo en la linea 
max = 5

# Numero inicial
r = 1

# Linea a imprimir
line = r.to_s

# Loop para la etapa incremental
while r <= max
    # Imprimir la linea
    puts(line)

    # Avanzar un numero
    r += 1

    # agregar a la linea
    line += r.to_s
end

# Remuevo los 2 últimos numeros
line = line[0..-3]

# Loop para la etapa decremental
while r > 0
    # Imprimo la linea
    puts(line)

    # Remuevo el último numero
    line = line[0..-2]

    # Conteo hacia abajo para el loop
    r -= 1
end
Aunque sospecho que habría que usar una lista para guardar he imprimir los números > 9. Tendrías que armar la linea según los números acumulados en la lista.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje