miércoles, 27 de enero de 2016

Dos Array con Números Aleatorios Par e Impar. v1

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