Título: programa que muestre los números naturales mas pequeños que n Publicado por: indict en 19 Octubre 2012, 19:13 pm Hola, quiero hacer un programa que al introducirle un número natural n, calcule sus números menores hasta el 1. Ej de 7, 6,5,4,3,2,1
He echo lo siguiente pero solo me calcula el primer n-1 y sigue infinitamente, Código: #include<iostream> Gracias por la ayuda :D Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: marccamacho en 19 Octubre 2012, 19:29 pm Buenas tardes!!!
Primero de todo tienes que tener bien claro lo que quieres que te muestre... Quieres que te muestre la série crecientemente o decrecientemente? Tal como lo planteas en el 'enunciado', lo quieres hacer decrecientemente. En tal caso tienes un par de cosas mal...
haber si puedes corregir eso! Hasta otra!!! Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: Enagymo en 19 Octubre 2012, 19:34 pm Le estás asignando a "i" dentro del while "n - 1", al no variar la variable "n", esa asignación siempre va a dar lo mismo y por ende nunca sale del loop.
Solución: lo que tenés que modificar dentro del while es el valor de "i". Si lo querés recorrer de N..0 tenés que:
Para esto también podrías usar un for: Código: #include<iostream> Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: indict en 19 Octubre 2012, 19:44 pm Le estás asignando a "i" dentro del while "n - 1", al no variar la variable "n", esa asignación siempre va a dar lo mismo y por ende nunca sale del loop. Solución: lo que tenés que modificar dentro del while es el valor de "i". Si lo querés recorrer de N..0 tenés que:
Para esto también podrías usar un for: Código: #include<iostream> Muchas gracias por el aporte, pero en los ejercicios solo puedo utilizar while, si lo hago sin usar for, al dar un número empieza la sucesión con -1, es decir 7 hace 5,4,3,2,1. Código: #include<iostream> Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: za.asi en 19 Octubre 2012, 19:52 pm También puedes hacer el bucle con while. De la manera en que lo he hecho yo te salen los numeros por orden ascendente (Aunque se puede invertir facilmente)
Código: #include <iostream> Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: marccamacho en 19 Octubre 2012, 19:56 pm Citar Código: #include<iostream> Entonces empieza por i=n! Piensa que tu le das a i el valor n-1 (6) y luego, en la primera iteración, antes de mostrar i por pantalla, la vuelves a decrementar y tiene valor (5). El código podria ser el siguiente: Código: int main(){ Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: indict en 19 Octubre 2012, 20:05 pm muchas gracias por la explicación,
tomando que i=i+1 también se obtiene la sucesión decreciente. Código: #include<iostream> Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: Enagymo en 19 Octubre 2012, 20:55 pm Creo que lo más "prolijo" en tu caso es inicializar "i" con "n" y dentro del loop realizar el output del número y después modificar el índice:
Código: cout<<i<<endl; El resultado es el mismo, sólo cuestión de legibilidad. Saludos. Título: Re: programa que muestre los números naturales mas pequeños que n Publicado por: za.asi en 19 Octubre 2012, 22:04 pm Si es usando solo while lo mas facil es
Código: ... |