martes, 26 de noviembre de 2013

Programa 16 Busqueda Secuencial Ordenada. Fernando Mtz R

#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