Alguien sabe?

rufus
18 de Abril del 2004
como puedo saber la cantidad de digitos introducidos en un entero.
ej.
cin>>num;
y le introduzco 12 digitos a num.
COMO PUEDO CONTABILIZAR ESOS DIGITOS?

noel solw
18 de Abril del 2004
[a] : me parece que no vas a poder introducir 12 digitos en un entero.
[b] : si n es un entero positivo, entonces la expresion
int(log10(n))+1, te dara el numero de cifras.
[c] : otra solucion es transformar n a strint con la funcion atoi y luego encontrar el numero de digitos por medio de strlen.

noel solw
18 de Abril del 2004
existen otras soluciones:

[d] : siendo n el numero a analizar enviarlo a una funcion

int F(int n)
{
for(int d = 0;n % 10;d++,n /= 10);
return d;
}

[e] : otra forma de escribir la funcion :

const int a[4] = {10,100,1000,10000};

int G(int n)
{
for(int i = 0;n < a[i];i++);
return i;
}