Ese código que tienes es una locura para lo que quieres controlar.
Mi recomendación es que hagas una función:
Que le pasas el número completo y te devuelve un número que empieza en el dígito <inicio> y con una longitud de <longitud>.
Y para comprobar si un número n es divisible por x, se usa el operador módulo (%):
Con esos dos consejos deberías poder mejorar bastante ese programa.
Inténtalo y cuando te surja algún problema coméntalo para seguir ayudándote.
PD: Otra opción es guardar cada dígito en una posición del array. Pero utiliza las estructuras del lenguaje para no tener que hacer el estropicio ese de las líneas 11-23:
Esto modifica tu variable número original. Si no quieres que se vea modifica, crea una función a la que le pases el número como parámetro por valor.
Mi recomendación es que hagas una función:
Código (cpp) [Seleccionar]
int subNumero(int numero, int inicio, int longitud);
Que le pasas el número completo y te devuelve un número que empieza en el dígito <inicio> y con una longitud de <longitud>.
Y para comprobar si un número n es divisible por x, se usa el operador módulo (%):
Código (cpp) [Seleccionar]
if(numero % 2 == 0)
cout << "El numero " << numero << " es divisible por 2" << endl;
Con esos dos consejos deberías poder mejorar bastante ese programa.
Inténtalo y cuando te surja algún problema coméntalo para seguir ayudándote.
PD: Otra opción es guardar cada dígito en una posición del array. Pero utiliza las estructuras del lenguaje para no tener que hacer el estropicio ese de las líneas 11-23:
Código (cpp) [Seleccionar]
const int NUM_DIGITOS = 10;
int main(){
int numero = 4130912867;
int digitos[NUM_DIGITOS];
for(int i = NUM_DIGITOS-1; i >= 0; --i){
digitos[i] = numero % 10;
numero /= 10;
}
}
Esto modifica tu variable número original. Si no quieres que se vea modifica, crea una función a la que le pases el número como parámetro por valor.