Advertisement
Irlan

Busca Binária 2

Mar 23rd, 2014
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.   int vet[5],i,j,aux,x;
  10.   int meio, inicio, fim;
  11.   int encontrou;
  12.  
  13.    
  14.     cout<<"Digite cinco valores"<<endl;
  15.     for(i=0; i<5; i++)
  16.     cin>>vet[i];
  17.    
  18.    
  19.     for(i=0; i<4; i++)
  20.     for(j=i+1; j<5;j++)
  21.     if(vet[i]>vet[j])
  22.         {
  23.          aux=vet[i];
  24.          vet[i]=vet[j];
  25.          vet[j]=aux;
  26.         }
  27.    
  28.    /* for(i=0; i<5; i++)
  29.     cout<<"Os valores organizados sao "<<vet[i]<<endl;*/
  30.    
  31.     cout<<"Informe o valor a ser procurado no vetor: "<<endl;
  32.     cin>>x;
  33.    
  34.     inicio = 0, fim = (vet[i]-1);
  35.      
  36.                         // processamento: Método de Pesquisa Binária
  37.    encontrou = 0;  // flag, 0- pesquisa “mal” sucedida
  38.                       //       1- pesquisa “bem” sucedida
  39.    
  40.    while ((inicio <= fim) && (encontrou == 0))
  41.    {
  42.      meio = (inicio + fim)/ 2;
  43.      
  44.      if (vet[meio] == x)
  45.       encontrou = 1;        // o elemento foi encontrado
  46.      else    
  47.         if (vet[meio] > x)
  48.         fim = meio – 1;       // primeira metade do vetor
  49.         else
  50.         inicio = meio + 1;  // segunda metade do vetor
  51.   }
  52.  
  53.   if (encontrou == 0)
  54.      cout<<"O valor nao está armazenado em nenhuma posição"<<endl;
  55.   else
  56.      cout<<"O valor está armazenado na posição"<<endl;
  57.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement