una idea :D
cualquier numero multiplicado por 2 es par.
Como lo mantamos...
Una forma de tener un numero siempre par:
Si me da el numero 91 (IMPAR) le divido por 2...
91 / 2
resultado 45. Ahora lo multiplico por 2
45*2
me da el 90 matando así aquel uno que era molesto y no nos aleja para nada por ejemplo del numero original por si lo queríamos números pares de 0 a 100 XDD
y para el impar solo le tienes que ver si es par. Tienes 2 opciones:
Una o no haces nada hasta que te de un par.
Otra si quieres que agilice y te de un numero par a la fuerza, si te da por ejemplo el numero 80, le sumas uno o le restas uno.
int n=80;
if( n%2 ==0 )
n = n+1;
Obien
int n=80;
if( n%2 ==0 )
n = n-1;
debes cuidar para que si por ejemplo quieres números entre 0 a 100 que no te pase ni de 0 abajo ni de 100 arriba sino seria un desastre XDD
por cierto, para números aleatorios uso:
int desde = 0;
int hasta = 100;
int aux = ( desde + rand() % (hasta - desde) );
así es como me va muy bien XDD
Ah XDD
Y debes llamar antes a srand() como te dijo vosk
srand() necesita una semilla la s es de seed que en ingles es la semilla.
srand() hace que rand() genere números según el numero que le pongas. Por ejemplo:
srand(157);
El problema es que si pones un numero fijo siempre te da los mismos números. Ahí es donde entra time(NULL) que obtiene de numero la hora del ordenador y como la hora no repite en 24horas pues a menos que ejecutes el rand() 2 veces al mismo instante cosa que es improbable por no decir imposible XDDD
Código C++:
Ver original#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
int aleatorio(int desde, int hasta);
int main (){
int num = 0;
int n = 0;
// Poner aqui el rango de numeros que desea generar, ejemplo: desde 0 hasta 100.
int desde = 0;
int hasta = 100;
cout << "cuantas numeros aleatorios quieres generar?: ";
cin >> num;
int box[num];
for ( int i = 0 ; i < num ; i++ ){
n = aleatorio( desde, hasta );
Sleep (10);
box[i] = n; //si los quiere guardar
cout << "arreglo [" << i << "] contiene: " << box[i] << endl;
}
cin.ignore();
return 0;
}//FIN DE MAIN
int aleatorio( int desde, int hasta ) {
// rand syntax: <int> = (<numeromenor> + rand() % ( <numeromayor> - <numeromenor> ) )
int n
= ( desde
+ rand() % (hasta
- desde
) ); return n;
}//FIN DE ALEATORIO