Como saber si un numero es par o impar en C++

Separando números pares e impares con C++

Una práctica de este tipo ayuda a reforzar las capacidades del pensamiento algorítmico, recordemos que un algoritmo es la serie de pasos que se ha de idear para lograr llegar a un objetivo, por otra parte, la sintaxis es propia de un lenguaje de programación especifico.

Para identificar si un número es impar o par no se requiere de librerías especiales lo único que tenemos que hacer es dividirlo entre 2, si la división se efectúa de forma entera, es decir dejando como residuo 0 entonces el número lógicamente será par, pero si por ejemplo divido 13 entre 5, entonces me quedara un residuo de 3, ese 3 es la parte que no se puede dividir entre 5.

Código para sacar números pares en C++



#include <iostream>
#include <cstdlib>

using namespace std;
int numero=200;

int main(){
div_t resultado;
resultado=div(numero,2);
if (resultado.rem>0)
{
cout << numero << " es impar" << endl;
}
else {
cout << numero << " es par" << endl;
}

cin.get();
return 0;
}


Código compilado para distinguir números pares e impares

Permitir que el usuario ingrese el numero



Lo anterior nos permite consultar un número, pero si deseamos que el usuario ingrese un numero para que sea dinámico, usaremos las funciones cin y cout.

#include <iostream>
#include <cstdlib>

using namespace std;
int numero; // Elimino el valor por defecto

int main(){
div_t resultado;
cout << "Ingrese un numero para verificar si es par" << endl;
cin >> numero; // Con cout capturamos el numero ingresado.
resultado=div(numero,2);
if (resultado.rem>0)
{
cout << numero << " es impar" << endl;
}
else {
cout << numero << " es par" << endl;
}

cin.get();
cin.ignore();
return 0;
}


Ejemplo de codigo en C++ para saber si un numero es par

Hacer varias consultas sobre números impares



Para mejorar el código anterior, como de costumbre modificare el código para que en lugar de cerrarse tras darnos el resultado y tocar una tecla para continuar, nos vuelva a preguntar otro número que añadiremos y así mismo tras presionar enter volvemos a consultar si es par o impar.

#include <iostream>
#include <cstdlib>

using namespace std;
int numero;

int main(){
div_t resultado;
while (1==1){ //Este bucle es la novedad y nace todo el trabajo
cout << "Ingrese un numero para verificar si es par" << endl;
cin >> numero;
resultado=div(numero,2);
if (resultado.rem>0)
{
cout << numero << " Es impar" << endl;
}
else {
cout << numero << " Es par" << endl;
}}

cin.get();
cin.ignore();

return 0;
}
Comentarios y preguntas
Neftaly:
Muchas gracias, necesitaba este código para un trabajo de la U.
Lax:
Agora si entendo
Marco:
como quedaría con una multiplicación de números impares
Codigazo:
hola Marco, si se refiere a multiplicar impares entre impares el resultado siempre es impar, si se refiere a impares en algunas ocasiones y entre pares en otras entonces lo que tiene que hacer es solicitar 2 números, multiplicarlos y evaluar el resultado, queda de la siguiente forma:

#include <iostream>
#include <cstdlib>

using namespace std;

int numero, primero, segundo;

int main(){

div_t resultado;

while (1==1){ //Este bucle es la novedad y nace todo el trabajo

cout << "Ingrese un numero: ";
cin >> primero;
cout << "Ingrese otro numero: ";
cin >> segundo;

numero = primero*segundo;

resultado=div(numero,2);

if (resultado.rem>0)

{
cout << "El resultado de la multiplicacion de los numeros anteriores es " << numero << " y este numero es impar" << endl;
}

else {
cout << "El resultado de la multiplicacion de los numeros anteriores es " << numero << " y este numero es par" << endl;
}}
cin.get();
cin.ignore();
return 0;

}
cami:
Hola, tengo examen hoy y queria preguntarte como hago si busco par y impar en pseudocodigo?
Codigazo:
Hola cami, el Pseudocódigo queda como en la siguiente imagen:

Numeros pares e impares en C++, Pseudocódigo
Madahy :
tengo examen y quiero ver el resultado de esto: Si un número es divisible entre 2 será el
mensaje “Par” sino “impar” como lo hago en el programa apche nebis
Codigazo:
Hola Madahy, ¿a que se refiere con nebis? en caso que se refiera a Netbeans entonces lo que importa es conocer el lenguaje de programación que está utilizando puesto que Netbeans se puede usar para varios lenguajes de programación, si está utilizando C++ con el codigo anterior podrá hacerlo.

Netbeans suele ser mas utilizado para Java en tal caso con el siguiente codigo podrá determinar si un numero es par o no:

package codigazo;
public class Codigazo {
public static void main(String[] args) {
int numero=80, resultado;

resultado=numero%2;
if (resultado>0){

System.out.println("El numero " + numero + " es impar");

}
else {
System.out.println("El numero " + numero + " es par");
}

}
}


Nota: no olvide cambiar los nombres "codigazo" y "Codigazo" por los del paquete y la clase de su proyecto respectivamente.
Álvaro Hinojosa:
Hola disculpa como le asigno un numero a un usuario segun su inicial del nombre , si es a=1, si es e=2 y asi sucesivamente.
Codigazo:
Álvaro Hinojosa, para capturar la inicial será más que suficiente crear una variable de tipo char, el tipo char solo puede guardar un carácter la declaramos así "char inicial;" luego en otra línea se captura dentro de esa variable el valor, con ayuda de la función cin. De momento el código luce así:

#include <iostream>
using namespace std;

int main() {
char inicial;

cout << "Escriba su nombre: ";
cin >> inicial;

system("pause");
return 0;
}


Ahora transformaremos las letras en números, esto se puede debido a que cada carácter tiene algo conocido como valor ASCII, por ejemplo, el de la "A" es 65, el de la B es 66. para imprimir esto por pantalla se utiliza cout, y para transformar ese carácter a número se utiliza la función int(), la sentencia quedaría así.

cout << "El numero asignado es: " << int(inicial) << endl;


Lo anterior se coloca justo debajo del "cin" que capturaba la inicial. Si compilamos ese código podemos observar que se imprimen números a partir del 64, más como queremos asignar números a partir del 1; "A"=1, "B"=2... entonces lo que haremos es restarle 64, porque si el valor numeral de "A" en ASCII es 65, y 65-64 = 1, entonces obtendremos lo que queremos. se resta modificando esta parte "int(inicial)" y lo cambiamos por "int(inicial)-64".

Para finalizar resulta que "A" tiene el valor 65 pero "a" y "A" no son el mismo carácter, uno es el carácter mayúscula y otro es minúscula, "a" tiene el valor 97, la solución más sencilla es encerrar la variable "c" con la función toupper() que lo que hace es convertir a mayúscula toda letra, queda el código entero de la siguiente forma:

#include <iostream>
using namespace std;

int main() {
char inicial;
cout << "Escriba su nombre: ";
cin >> inicial;
cout << "El numero asignado es: " << int(toupper(inicial))-64 << endl;

system("pause");
return 0;
}
Loli:
me puedes ayudar hacer ese ejercicio en c++ por favor,
Desea ver los numero (P)ares (I)impares
p
Hasta que numero desea buscar los pares
Codigazo:
Loli, con el siguiente codigo logrará lo que desea, analícelo cuidadosamente para que lo entienda.

#include <iostream>
#include <conio.h>
#include <cstdio>

using namespace std;

string numeros;
string tiponumero;

int cantidad;
int contador=1;
div_t resultado;

int main(){

cout << "Desea ver los numero (P)ares (I)impares" << endl;
cin >> numeros;

if (numeros=="p" || numeros=="P"){
tiponumero="pares";
}
else if (numeros=="i" || numeros=="I"){
tiponumero="impares";
}

cout << "Hasta que numero desea buscar los " << tiponumero << endl;
cin >> cantidad ;
while (contador<=cantidad){
resultado=div(contador,2);

if (tiponumero=="impares" && resultado.rem>0){ // Si el usuario elije impares y es impar se imprime
cout << contador;
}
else if (tiponumero=="pares" && resultado.rem==0){ // Si el usuario elije par y es par se imprime
cout << contador <<" ";
}
contador++; // aumentamos el numero para pasar al siguiente
}

_getch(); // Pausamos el programa para que no se cierre

}
Alexa:
Hola mi tarea es para mañana y quiero saber como se hace el siguiente ejercicio: código que pida 30 numeros, que los almacene en vectores y cada vector me indique si los números son pares o impares
Codigazo:
Bienvenida alexa. Con el siguiente código podrá solicitar 30 números, y al finalizar regresarán los 30 números y se indicará cuales son pares y cuales impares.

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;
vector <int> numeros;// Creamos un vector llamado numeros
int contador=1; // Este contador servirá para pedir numeros desde el 1 hasta el 30
int numero;
div_t resultado;// Esta variable se utilizará para almacenar el residuo de dividir un numero entre dos

int main () {

// con la siguiente estrucutra while pedimos y almacenamos uno a uno los numeros dentro de el vector numeros
cout << "A continuacion ingrese 30 numeros" << endl;
while (contador<=30){
cin >> numero;
numeros.push_back(numero);// Almacenamos en el vector numeros el numero ingresado.
contador++;// Incrementamos el valor de este contador uno a uno tras cada vueltadel bucle while
}

for (int unnumero : numeros) {
resultado=div(unnumero,2);
if (resultado.rem>0){ // Si el usuario elije impares y es impar se imprime lo siguiente
cout << unnumero << " Este numero es impar" << endl;

}

else if (resultado.rem==0){ // Si el usuario elije par y es par se imprime lo siguiente
cout << unnumero << " Este numero es par" << endl;

}
}

system("Pause");

return 0;

}
jared:
como poner en dividir el par e impar sin utilizar el modulo o % en c++
Codigazo:
jared, ahí en el primer codigo puede observar que es lo que usted necesita, no se utiliza el operador de modulo, es justo lo que usted está buscando.
jose manuel:
como saber si 3 numeros es par o impar c++
Codigazo:
hola jose manuel, con el codigo de este articulo podrá hacerlo.