Título: contar numeros de un numero Publicado por: Beginner Web en 18 Abril 2019, 06:04 am hola chicos, como hago para contar los digitos de un numero?
por ejemplo si coloco 0000000000 me devuelva 10 pero sin usar ningun tipo de estructura solo como maximo se puede usar while,do while y for gracias :laugh: dato de entrada un entero 000000 dato de salida otro entero 6 :huh: Título: Re: contar numeros de un numero Publicado por: EdePC en 18 Abril 2019, 08:05 am Saludos,
- Habría que entender ese "número" como un String ya que difícilmente va a haber un entero 000000. - Sería cosa de iterar cada caracter del String y contar hasta que se acaben con caracteres. En C sería algo así: Código
Título: Re: contar numeros de un numero Publicado por: Beginner Web en 18 Abril 2019, 08:19 am Si pero el dato de entrada debe almacenarse en una variable de tipo entero, no se debe utilizar otros tipos de datos, y si no se puede bueno fue :rolleyes:
Título: Re: contar numeros de un numero Publicado por: BloodSharp en 18 Abril 2019, 08:35 am hola chicos, como hago para contar los digitos de un numero? por ejemplo si coloco 0000000000 me devuelva 10 pero sin usar ningun tipo de estructura solo como maximo se puede usar while,do while y for gracias :laugh: dato de entrada un entero 000000 dato de salida otro entero 6 Si pero el dato de entrada debe almacenarse en una variable de tipo entero, no se debe utilizar otros tipos de datos, y si no se puede bueno fue :rolleyes: Tené en cuenta que 000000, como 000, como 00, como infinitos ceros solamente son 0. (https://i.imgur.com/pZHE3hl.png) EDIT: Aunque se tendría que también en caso de ser cero asignar el contador definitivo a 1 sin pasar por el for. Me faltó ese detalle agregar... :silbar: EDIT2: Y agregar también verificación del valor absoluto... :-[ B# Título: Re: contar numeros de un numero Publicado por: Serapis en 18 Abril 2019, 10:04 am Como ya te han dicho los ceros a la izquierda de un número no valen nada, no existen, luego si se debe considerar ceros a la izquierda tiene que ser un string.
Si es un numero entero, tienes que usar un bucle: Código: Si (numero <> 0) // distinto de cero Título: Re: contar numeros de un numero Publicado por: CalgaryCorpus en 18 Abril 2019, 16:03 pm Puesto que los numeros deben tener al menos 1 digito, es posible empezar la cuenta con 1 y modificar la condicion del ciclo y con ello se ahorra la comparacion inicial contra 0.
Algo asi: Código: digitos = 1; Para numeros negativos, hay que hacer al inicio el equivalente a n = abs(n) |