[C con Clase] Contar los digitos de un numero

Jorge Vega Sanchez memmaker650 en gmail.com
Sab Nov 6 20:17:45 CET 2010


En el mismo metodo 'iesimo' vete guardando el dividendo de la division por 10 en orden en un vector. Posteriormente para hacer lo del as sumas de las posiciones simetricas basta con saber el tamaño del vector y hacer operaciones con el inicio y final del vector (con dos indicadores para recorrer el vector i,j por ejemplo).

Un saludo.
El 06/11/2010, a las 17:30, Toni escribió:

> Hola,
> 
> He hecho el siguiente codigo:
> 
> #include<iostream>
> using namespace std;
> 
> int iesimo(int N, int i){
>   int comparador,resultado;
>   comparador=1;
>   resultado=1;
> 
>      for (int j=0;j<i;j++){
> 	comparador*=10;
>      }
>     if (comparador/10<N){
> 	resultado=N%comparador;
> 	comparador/=10;
> 	  if (comparador!=0){
> 	    resultado/=comparador;
> 	  }
> 
>     }else{
> 	resultado=-1;
>     }
>   return resultado;
> }
> 
> int main(){
> int num,digitos;
> 
> cout<<"Introduzca un numero: \n";
> cin>>num;
> 
> digitos=0;
> 
>    while (iesimo(num,digitos)!=-1){
> 	digitos++;
>    }
> digitos--;
> 
> cout<<"Tiene "<<digitos<<" digitos\n";
> 
> return 0;
> }
> 
> 
> Lo que quiero que haga ese programa es en primer lugar, al insertar un numero cualquiera me diga cuantos digitos componen ese numero, por ejemplo 35435 son 5 digitos.
> El problema que tengo es que cuando introduzco un numero de 9 o más digitos, el resultado que me devuelve es erroneo.
> 
> Una vez sepa los digitos que tiene, tengo que sumar las posiciones simetricas, (el primero con el ultimo, el segundo con penultimo) aunque para esto ya haré su implementación, pero primero necesitaria el resultado correcto de los digitos que forman ese numero.
> 
> Agradecería cualquier comentario o ayuda.
> 
> Saludos,
> 
> -- 
> 
> 
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20101106/cee55edc/attachment.html>


Más información sobre la lista de distribución Cconclase