Ordenamiento Interno Por Funciones
Enviado por Gusta253 • 28 de Octubre de 2013 • 2.081 Palabras (9 Páginas) • 251 Visitas
#include<cstdlib>
#include<ctime>
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
void generar();
bool checkrep();
int menu(int num[], int valor1);
void insercionBinaria();
void shell();
bool checkrep(int n, int num[], int valor1)
{
for(int i=0; i<valor1; i++)
if(n == num[i])
return true;
return false;
}
void generar()
{
int valor1;
cout<<"\n\n\t Cuantos numeros desea generar? ";
cout<<"\n\n\t -> ";
cin >> valor1;
cout<<"\n\n\t ";
srand(time(NULL));
int n, num[valor1];
for(int i=0; i<valor1; i++)
{
do
n = 1 + rand() % valor1;
while(checkrep(n, num,valor1));
num[i] = n;
cout<< num[i] << " ";
}
cout<<"\n\n\t Valores generados corretamente Presione Enter ";
getch();
menu(num, valor1);
}
int insercionBinaria(int num[], int valor1)
{
cout<<"\n\t Arreglo antes de ordenar \n\t";
for(int i=0; i<valor1; i++)
{
cout<< num[i] << " ";
}
int i,j,aux,izq,der,m;
for(i=1;i<valor1;i++)
{
aux = num[i];
izq=0;
der=i-1;
while(izq<=der)
{
m=((izq+der)/2);
if (aux<num[m])
der=m-1;
else
izq=m+1;
}
j=i-1;
while(j>=izq)
{
num[j+1]=num[j];
j=j-1;
}
num[izq]=aux;
}
cout<<"\n\t Arreglo despues de ordenar \n\t";
for(int i=0; i<valor1; i++)
{
cout<< num[i] << " ";
}
getch();
generar();
}
int shell(int num[], int valor1)
{
cout<<" \n\t Arreglo antes de ordenar \n\t";
for(int i=0;
...