Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Anastacio en 29 Febrero 2012, 02:32 am



Título: Pares e impares
Publicado por: Anastacio en 29 Febrero 2012, 02:32 am
He estado viendo un poco algunos temas, leyendo un poquitito. Vi un post aqui donde se discutia como hacer un programa que encuentre numeros impares. Una idea algo asi, serviria????

Se sobreentiende que los numeros no pares, son impares. Los numeros pares son divisibles por 2. Entonces, porque no simplemente hacer que divida todos los numeros  por dos en una lista, y si el resultado es con numero entero, es par, y si no, es impar. (Aunque no se como se podria hacer que detecte si el numero es decimal o no.)
Saludos!


Título: Re: Pares e impares
Publicado por: x64core en 29 Febrero 2012, 03:00 am
sucede que quiza leste un tema reciente en donde se hablaba de no usar el operador % que es el que
donde se obtiene el resto con el cual si el resto es 0 es par, de lo contrario el impar, el usuario necesitaba
una idea de como hacerlo sin el operador mencionado por eso seguramente viste funciones que implementaban
ese operador...


Título: Re: Pares e impares
Publicado por: El_Java en 2 Marzo 2012, 18:44 pm
Citar
(Aunque no se como se podria hacer que detecte si el numero es decimal o no.)
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.   double a = 2.5, b = 3;
  6.  
  7.   if((double)((int)a) != a) cout << "No es entero" << endl;
  8.   else cout << "Es entero" << endl;
  9.  
  10.   if((double)((int)b) != b) cout << "No es entero" << endl;
  11.   else cout << "Es entero" << endl;
  12.  
  13.   return 0;
  14. }

Código:
No es entero
Es entero


Título: Re: Pares e impares
Publicado por: s00rk en 2 Marzo 2012, 19:53 pm
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.   double a = 2.5, b = 3;
  6.  
  7.   if((double)((int)a) != a) cout << "No es entero" << endl;
  8.   else cout << "Es entero" << endl;
  9.  
  10.   if((double)((int)b) != b) cout << "No es entero" << endl;
  11.   else cout << "Es entero" << endl;
  12.  
  13.   return 0;
  14. }

Código:
No es entero
Es entero

Aunque creo que esta demas ese "(double)" en las operaciones ya que lo unico que hace eso es convertir a double el resultado no?
Ejemplo
2.5

(int)2.5 = 2
2 != 2.5 si entonces no es entero

(int)3.0 = 3
3 != 3.0 no entonces es entero

Si entiendo para que hacerlo para asi tener una comparacion del mismo tipo, pero en comparacion de numeros en este caso no creo que sea necesario.



Título: Re: Pares e impares
Publicado por: Anastacio en 7 Marzo 2012, 19:25 pm
Me complico el tema de todos esos parentesis, a ver.

en el if, acaso pregunta si "a" no es igual a "a"? (Yo uso C, y no C++, tal vez eso sea.)

Entonces, si yo pongo:

a % b = c.

Entonces, suponiendo que a sea 4, y b sea 2, c seria igual a 0?,

Editado:

Lamento mi estupidez, probe con un simplisimo programita que hice para saberlo y aprendi el funcionamiento de el operador mencionado %.

Aun queda mi primera pregunta respecto a los ifs de alli.


Título: Re: Pares e impares
Publicado por: Eternal Idol en 7 Marzo 2012, 19:36 pm
Anastacio: por ENESIMA vez, LEE antes de preguntar.