Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: scarguss en 10 Noviembre 2011, 21:10 pm



Título: novato programacion en c, duda
Publicado por: scarguss en 10 Noviembre 2011, 21:10 pm
En el siguiente problema:

2 Escriba un programa en C que encuentre e imprima todos los numeros de
4 cifras signi cativas que cumplan la condicion de que la suma de las cifras de
posicion impar es igual a la suma de las cifras de posicion par.
 Solucion:
#include <stdio.h>

main(){

/*declaracion de variables*/

int num;
int cifras_pares;
int cifras_impares;
/*codigo*/

for (num=1000;num<10000;num++){

cifras_pares=(num/1000);
cifras_impares=((num%1000)/100);
cifras_pares+=((num%100)/10);
cifras_impares+=(num%10);

if (cifras_pares==cifras_impares){

printf("%d\n",num);
}/*fin if*/
}/*fin for*/
}/*fin main*/


¿Porque, por ejemplo con esto: cifras_impares=((num%1000)/100);
se refiere a la posicion de las centenas del numero?
Saludos


Título: Re: novato programacion en c, duda
Publicado por: rir3760 en 10 Noviembre 2011, 23:57 pm
¿Porque, por ejemplo con esto: cifras_impares=((num%1000)/100);
se refiere a la posicion de las centenas del numero?
Porque asi separas el digito de las centenas.

Tomemos por ejemplo el valor 6789. Al dividirlo entre 1000 el modulo o residuo es 789. Y al dividir 789 entre 100 el resultado  es 7.

Los demas casos son similares.

Un saludo