Programación General > C/C++

 numero de digitos

(1/2) > >>

mapechuca:
Hola a todos tengo una opequenia duda con este ejercicio,

Escriba un afuncion iterativa

int numero_digits(int n);

que retorne el numero de digitos de n.

PRECONDICIO:
Se tiene que n>=0
-----------------------------------------------------
lo que hice hasta ahora es lo sgte:

#include<iostream.h>
int numero_digits(int n);
int main();
int n;
cout<<"escriba el digito:"<<endl;
cin>>n;
cout<<"el numero de digitos sera:"<<numero_digits(n)<<endl;
cin.ignore();
cin.get();
return 0;
}
int numero_digits(int n){
return ceil(log10(numero_digits(n)));
}

la parte de definicion es la que me falta. para mi hacer un definicion siempere es lo mas complicado en c++.gracias de antemano por la consulta que puedan brindar, noles pido que me resuelvan el ejercici <_< o!!!!!!!

haidion:
El resto de dividir por 10 te da siempre el último digito de un numero, que deberia ser el primero del numero invertido. Entonces al resto de dividir por 10 lo multiplcas por 10^int(log(n)) y le sumas la funcion aplicada a n/10 y ya esta.

mapechuca:
hola haidion, gracias por la ayuda.......... pero no entendi nada))))

m0skit0:

--- Cita de: "mapechuca" ---pero no entendi nada))))
--- Fin de la cita ---
Pues repasa las mates

diego.martinez:

--- Código: C++ ---  int CuentaDigitos(int Numero){ for (e=1;;e++){if (Numero < pow(10,e))   return e;}return 1; }  
o , aplicado a cualquier base:


--- Código: C++ ---  int CuentaDigitos(int Numero, int Base=10){ for (e=1;;e++){if (Numero < pow(Base,e))   return e;}return 1; }  mas simple  :good:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa