elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Tengo una duda de como determinar los digitos de un número
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Tengo una duda de como determinar los digitos de un número  (Leído 35,449 veces)
тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Tengo una duda de como determinar los digitos de un número
« Respuesta #10 en: 17 Agosto 2011, 02:04 am »

Código:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num,contador=1;
    printf("Introduce un numero: ");
scanf("%i",&num);
while(num/10 !=0){
    num=num/10;
    contador++;
}
printf("Longitud: %i",contador);
return 0;

}


En línea

Alien-Z

Desconectado Desconectado

Mensajes: 177


C++ Programmer


Ver Perfil
Re: Tengo una duda de como determinar los digitos de un número
« Respuesta #11 en: 17 Agosto 2011, 02:11 am »

Buah, yo calentándome la cabeza y bastaba con una simple división  :xD

Saludos.


« Última modificación: 17 Agosto 2011, 02:42 am por Alien-Z » En línea

Felipe_Henriquez

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Tengo una duda de como determinar los digitos de un número
« Respuesta #12 en: 17 Agosto 2011, 03:44 am »

:D Gracias a todos los grosos que contestaron Gracias!!!! de verdad.... :D estos pives de Deitel tienen buenisimos ejercicios por sección, un abrazo a todos los que contestaron y me ayudaron... no encontraba como dar con la solución. Y si alguien pilla la solución contar el número de dígitos sin funciones ni arreglos, que lo pueda postear. Un abrazo a todos!!!.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Tengo una duda de como determinar los digitos de un número
« Respuesta #13 en: 19 Agosto 2011, 04:22 am »

La solucion exacta depende, principalmente, de los requisitos de validacion del algoritmo.

Por ejemplo si se espera, de facto, que la entrada sea valida consistiendo de un numero sin signo y posiblemente con decimales basta con:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main (void)
  5. {
  6.   int ch;
  7.   int num_digitos;
  8.  
  9.   num_digitos = 0;
  10.   while ((ch = getchar()) >= '0' && ch <= '9' || ch == '.')
  11.      num_digitos++;
  12.  
  13.   printf("Numero de digitos: %d\n", num_digitos);
  14.  
  15.   return EXIT_SUCCESS;
  16. }

Pero si se requiere de una validacion mas solida lo mejor es crear una pequeña maquina de estado.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines