Título: Contador de Digitos Numeros Pares Publicado por: Seeven en 20 Septiembre 2014, 00:27 am Buenas, soy nuevo en programación mi consulta es la siguiente, encontre este codigo, lo que hace es contar los digitos ingresados pero solo los digitos pares mas no los impares, y lo que quisiera saber es como funciona el programa, que me lo explicaran sobretodo la parte donde se pone el modulo. Gracias.
#include <iostream> using namespace std; int main () { int a,b,c; cout <<"Numero : " ;cin >> a; c = 0; while (a > 0){ b = a % 10; if (b % 2 == 0){ c++;} a /= 10; } cout <<"Digitos Pares: "<<c; return 0; } Título: Re: Contador de Digitos Numeros Pares Publicado por: T. Collins en 20 Septiembre 2014, 00:50 am Código
El módulo (%) funciona así: 7%3 = 1 , 8%4 = 0 se divide el primer numero entre el segundo y el resultado es el resto de la división. 7-3=4 -> 4-3=1, 8-4=4 -> 4-4=0 El programa que has puesto va dividiendo a entre 10 mientras a>0 para cojer cifra por cifra: a=45 b = 45 % 10 = 5 if (b % 2 == 0) -> 5 % 2 = 1 entonces no es número par, por lo tanto c (el contador de pares) no se incrementa. a /= 10 -> a = a /10 -> a = 45 / 10 -> a = 4 (solo se coge la parte entera) b = 4 % 10 = 4 if (b % 2 == 0) -> 4 % 2 = 0 entonces sí es número par, por lo tanto c (el contador de pares) sí incrementa. a /= 10 -> a = a /10 -> a = 4 / 10 -> a = 0 como a es 0 se sale el bucle Título: Re: Contador de Digitos Numeros Pares Publicado por: ivancea96 en 20 Septiembre 2014, 12:35 pm Aunque vaya, bastaría con poner "if(a%2==0)", 'b' sobra.
Título: Re: Contador de Digitos Numeros Pares Publicado por: Seeven en 21 Septiembre 2014, 10:26 am muchas gracias
|