#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main ()
{
int n,i,k,*num,j,b,aux;
printf("\n\n Cuantos elementos habra en el arreglo: ");
scanf("%d",&n);
num=(int *)malloc(sizeof(int)*n);
b=n/2;
//Llenar arreglo
system("cls");
for(i=0;i<n;i++)
{
printf("\n\n Dame el elemento #%d del arreglo: ",i);
scanf("%d",&num[i]);
}
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);
//IMPRIMIR ARREGLO ORDENADO
printf("\n\n\n *** ARREGLO ORDENADO ***\n\n\n");
for(i=0;i<n;i++)
{
printf(" %d \n",num[i]);
}
}
No hay comentarios:
Publicar un comentario