/* 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;
}

 
No hay comentarios:
Publicar un comentario