Título: Explicación de un codigo Publicado por: Nabore en 8 Mayo 2016, 05:40 am Buenas noches chic@s el problema es que estaba haciendo un ejercicio simple en lenguaje C, que era saber si un número es par o impar, me quedo bien si , pero al codigo o al proceso no le encuentro la logica que puse, entonces me gustaria saber si ustedes me podrian ayudar, ya que tienen mas experiencia que yo, Gracias
Codigo= #include <stdio.h> #include <windows.h> #include <conio.h> main (){ int n; printf("Digite el número: "); scanf("%d",&n); if (n/2*2 == n ) {printf("Par");} else {printf("Impar");} getch(); } Título: Re: Explicación de un codigo Publicado por: crack81 en 8 Mayo 2016, 06:32 am Lo que hace tu codigo primero es dividir el numero luego lo multiplica por dos y despues compararlo con el numero original
Ejemplo si ingresas un 5 el if quedaria asi ===> 5/2*2==5 que si resolvemos las operaciones realmente quedaria esto 5/2==> 2, en efecto daria dos y no 2.5 ya que en programacion cuando divides un variable de tipo int entre otro entero siempre dara un entero, para que quedara con decimales tendrias que cambiar el tipo de dato de int a float o especificar el numero como float ejemplo: 2.0 osea especificando la parte decimal Despues haria esta operacion 2*2==>4 ya teniendo ese numero lo comparia con el 5 original si es igual da true en este caso dara un false por ende es impar Otro ejemplo seria usando el numero 8 8/2 ==>4 4*2==> 8 8==8 Al comparar el resultado seria true por ende par El algortimo funciona pero la forma clasica es hacerto if(numero%2==0) esPar else noesPar Lo que hace es dividir el numero entre dos y si su residuo es cero entonces es par en caso contrario es impar. si tienes dudas avisa Saludos... :silbar: Título: Re: Explicación de un codigo Publicado por: Nabore en 8 Mayo 2016, 06:38 am Wow gracias amigos me has sacado de una duda, te agradezco mucho por responder :)
Y saludos ;-) ;-) ::) |