Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DeIMachine en 8 Noviembre 2015, 01:29 am



Título: [AYUDA] Problema muy sencillo en c++
Publicado por: DeIMachine en 8 Noviembre 2015, 01:29 am
Hola buenas estoy empezando a programar y llevo un día entero resolviendo un problema que seguro que se puede hacer en 5 minutos, el problema es este: https://gyazo.com/6542c560c942442f08009202a0d3cfb6 (https://gyazo.com/6542c560c942442f08009202a0d3cfb6)
Mi programa es este pero falla cuando hay un cero en el numero.
Código:
int cerificar(int n){ 
    int i=n%10;
    int potencia=1;
       while(n!=0){
       n=n/10;
       potencia=potencia*100;
       i=i+n%10*potencia;
       }
     return i;
}



Título: Re: [AYUDA] Problema muy sencillo en c++
Publicado por: ivancea96 en 8 Noviembre 2015, 01:53 am
La mejor opción diría yo, es comprobar si la cifra es 0 en el comienzo de cada ciclo del bucle. Si es 0, continuas con el bucle con continue; (o si no quieres usar ese tipo de sentencias, con condiciones).


Título: Re: [AYUDA] Problema muy sencillo en c++
Publicado por: DeIMachine en 8 Noviembre 2015, 11:34 am
Ya está ivan gracias, como has dicho había que poner alguna condición para cuando el modulo de n era 0 porque yo lo del continue no lo he visto todavía.
Código:
int cerificar(int n){
    int i=n%10;
    int potencias = 1;
    n=n/10;
    while(n!=0){
        if(n%10>0){
            potencias=potencias*100;
            i=i+n%10*potencias;
           
        }
        n=n/10;
    }
    return i;
}