/* Crear dos array con números aleatorios de cualquier tamaño:
1) Primer Array con números aleatorios pares
2) Segundo Array con números aleatorios impares
3) Imprimir array
* Author: William
*/
CÓDIGO EN C++
#include <iostream>
#include <ctime>
using namespace std;
/*---- Prototipos de Funciones -----*/
int genNumAleat( int min , int max );
int getNumPar( int min , int max );
int getNumImpar( int min , int max );
void llenarArray( int Array[] , int tam , int min , int max , bool par );
void imprimirArray( int Array[] , int tam );
int main()
{ srand(time(NULL));
int tam , min , max;
cout << "\n\t\tDOS ARRAY CON NUMEROS ALEATORIOS\n";
cout << "\t\t\tCON PAR E IMPAR\n";
cout << "\nIngrese cantidad a generar: "; cin >> tam;
cout << "Ingrese un rango\n";
cout << "Val. Min: "; cin >> min;
cout << "Val. Max: "; cin >> max;
int ArrayPar[tam];
int ArrayImpar[tam];
llenarArray( ArrayPar , tam , min , max , true );
llenarArray( ArrayImpar , tam , min , max , false);
cout << "\n----- Array 1: Par ------\n";
imprimirArray( ArrayPar , tam );
cout << "\n----- Array 2: Impar ------\n";
imprimirArray( ArrayImpar , tam );
return 0;
}
/*---- Definicion de Funciones -----*/
//Genera numeros aleatorios
int genNumAleat( int min , int max )
{
return rand() % (max - min + 1) + min;
}
//Funcion para verificar el numero generado (Para Par)
int getNumPar( int min , int max )
{
int n = genNumAleat( min , max );
//Se valida el numero Par, luego se retorna.
if( n%2 ==0 )
return n;
else
if( (n+1) > max )
return n-1;
else
return n+1;
}
//Funcion para verificar el numero generado (Para Impar)
int getNumImpar( int min , int max )
{
int n = genNumAleat( min , max );
//Se valida el numero Impar, luego se retorna.
if( !(n%2 == 0) )
return n;
else
if( (n-1) < min )
return n+1;
else
return n-1;
}
//Se inserta los elementos
void llenarArray( int Array[] , int tam , int min , int max , bool par )
{
for( int i = 0 ; i < tam ; i++)
if(par)
Array[i] = getNumPar( min , max );
else
Array[i] = getNumImpar( min , max );
}
//Imprime el contenido del array
void imprimirArray( int Array[] , int tam )
{
for( int i = 0 ; i < tam ; i++)
cout << i << ")\t" << Array[i] << endl;
}