elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Explicación de un codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Explicación de un codigo  (Leído 2,076 veces)
Nabore

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Explicación de un codigo
« 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();
}


« Última modificación: 8 Mayo 2016, 05:44 am por Nabore » En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Explicación de un codigo
« Respuesta #1 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:


En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
Nabore

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Explicación de un codigo
« Respuesta #2 en: 8 Mayo 2016, 06:38 am »

Wow gracias amigos me has sacado de una duda, te agradezco mucho por responder :)

Y saludos  ;-) ;-) ::)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda, explicacion de codigo
Programación C/C++
negux 1 2,826 Último mensaje 28 Abril 2010, 08:12 am
por Akai
ayuda con explicacion de codigo
Programación C/C++
Fatmf44 1 2,573 Último mensaje 24 Junio 2010, 00:10 am
por Littlehorse
explicacion de codigo
Programación C/C++
flony 3 2,905 Último mensaje 12 Octubre 2010, 14:06 pm
por flony
[C++ Linux] Explicación de codigo [Principiante] « 1 2 »
Programación C/C++
EAX_ 14 5,900 Último mensaje 28 Enero 2012, 19:39 pm
por EAX_
Explicación de estas líneas (Flash) y simplificar el código.
Programación General
Tachikomaia 1 1,422 Último mensaje 9 Junio 2024, 18:51 pm
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines