#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main ()
{
int i,*num,n,valor,b,aux,j,k;
int encontrado;
printf("\n\n Cuantos elementos habra en el arreglo: ");
scanf("%d",&n);
num=(int *)malloc(sizeof(int)*n);
//Llenar arreglo
system("cls");
for(i=0;i<n;i++)
{
printf("\n\n Dame el elemento #%d del arreglo: ",i);
scanf("%d",&num[i]);
}
system("cls");
printf("\n\n\n *** ARREGLO NO ORDENADO ***\n\n\n");
for(i=0;i<n;i++)
{
printf(" %d ",num[i]);
}
printf("\n\n");
//metodo shell
b=n/2;
do
{
for(i=b;i<n;i++)
{
aux=num[i];
j=i-b;
while ((j>=0)&&(aux<num[j]))
{
num[j+b]=num[j];
j-=b;
}
num[j+b]=aux;
printf("\n ");
for(k=0;k<n;k++)
printf("%i ",num[k]);
}
b/=2;
}
while(b!=0);
printf("\n\n");
printf("\n\n\n *** ARREGLO ORDENADO ***\n\n\n");
for(i=0;i<n;i++)
{
printf(" %d ",num[i]);
}
printf("\n\n");
printf("\n Deme el numero a encontrar: ");
scanf("%d",&valor);
for(i=0;i<=9;i++)
{
if(valor==num[i])
printf("\n\n Si se encontro el valor: %d",valor);
else
printf("\n\n No se encontro el valor: %d",valor);
valor/(n/2);
}
}
No hay comentarios:
Publicar un comentario