viernes, 22 de enero de 2016

Array con Numeros Aleatorios / Ordenar Array por el Método de Inserción (InsertionSort)


CÓDIGO EN C++

#include <iostream>
#include <ctime>
using namespace std;

/*------- Prototipos de Funciones --------*/

int genNumAleat( int min , int max );
void myArray( int v[] , int tam , int min , int max );
void imprimirArray(  int v[] , int tam );
void ordenarArray( int v[] , int tam );

int main()
{   srand(time(NULL));
 
    int tam , min , max; //Tamaño del array, valor minimo y el maximo
 
    cout << "\n\t\tArray con Numeros Aleatorios\n";
 
    cout << "\nIngrese cantidad a generar: ";
    cin >> tam;
 
    int Array[tam]; //Array
   
    cout << "Ingrese un rango:\n";
    cout << "Val. Min: ";    cin >> min;
    cout << "Val. Max: ";    cin >> max;
 
    myArray( Array , tam , min , max );
    ordenarArray( Array , tam );
    imprimirArray(  Array , tam );
 
 
  return 0;
}

/*------- Definicion de Funciones --------*/

//Genera numeros aleatorios
int genNumAleat( int min , int max )
{
   return rand() % (max - min + 1)+ min;
}

//Se llena el array
void myArray( int v[] , int tam , int min , int max )
{
    cout << "\nElementos del Array\n\n";
    for( int i = 0 ; i < tam ; i++)
        v[i] = genNumAleat( min , max );
}

//Imprime el contenido del array
void imprimirArray(  int v[] , int tam )
{
     for( int i = 0 ; i < tam ; i++)
         cout << i << ")\t" << v[i] << endl;
}

//Ordenar array por el metodo de Insercion
void ordenarArray( int v[] , int tam )
{
    for( int i = 1 ; i < tam ; i++ )
    {
        int aux =  v[i];
        int x = i-1;
     
        while( x >= 0 && aux < v[x] )
        {
            v[x+1] = v[x];
            --x;
        }
     
        v[x+1] = aux;
    }
}

No hay comentarios:

Publicar un comentario