Ir ao conteúdo
  • Cadastre-se

ORDENAÇÃO DE VETOR - PESQUISA BINÁRIA


Felipeduarte13

Posts recomendados

Implemente uma função para realizar uma busca(pesquisa) binária de um elemento X em

um vetor de 15 registros ordenados. Entre com os elementos, ordene-os e retorne a posição do

elemento encontrado, caso o elemento não seja encontrado retorne -1. Dica: Utilize o método de

ordenação por inserção (insertion sort).

Link para o comentário
Compartilhar em outros sites

#include <stdio.h>

#include <stdlib.h>

 

int vet[25];

 

int busca (int x){

int ini,meio,fim;

ini=0;

fim=24;

while (ini<=fim){

    meio=(fim+ini)/2;

    if (vet[meio]==x){

        return meio;

    }else if (vet[meio]<x){

        ini=meio+1;

    }else{

        fim=meio-1;

    }

}

return -1;

}

void ordenar(int vet[]) {

   int i, j, z;

   for (i = 1; i < 25; i++){

      z = vet;

      j = i - 1;

      while ((j>=0) && (z < vet[j])) {

         vet[j+1] = vet[j];

         j--;

      }

      vet[j+1] = z;

   }

}

 

int main()

{

    int i,z,x;

    for (i=0;i<25;i++){

    scanf("%d",&vet);

    setbuf(stdin,NULL);

    }

    printf("\nInforme o numero a ser pesquisado: ");

    scanf("%d",&x);

    ordenar(vet);

    z=busca(x);

    if (z !=-1){

        printf("Nao encontrado o numero");

    }else {

        printf("Numero econtrado na posicao %d do vetor ordenado",z);

    }

    return 0;

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...