Advertisement
Guest User

a

a guest
Dec 11th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.00 KB | None | 0 0
  1. // Pesquina Sequencial
  2. #define TAMANHO 5
  3.  
  4. int main()
  5. {
  6.     int Vetor[TAMANHO] = {5, 1, 9, 4, 2}; // Vetor de exemplo.
  7.     int i = 0;        // Índice de início do vetor.
  8.     int Procurado;    // Usuário escolhe o valor procurado (desejado).
  9.     int Saida = -1;   // Índice para valor NÃO encontrado no vetor.
  10.     printf("Digite o valor procurado: ");scanf("%i", &Procurado);
  11.     while(i < TAMANHO && Saida == -1)
  12.     {
  13.         if(Vetor[i] == Procurado)
  14.             Saida = i; //Índice do valor procurado pelo usuário.
  15.         else
  16.             i++;
  17.     }
  18.     if (Saida == -1)
  19.         printf("O valor procurado: %i nao foi encontrado.\n\n", Procurado);
  20.     else
  21.         printf("O valor procurado: %i encontrado no Indice: %i.\n\n", Vetor[Saida], Saida);
  22.     return 0;
  23. }
  24.  
  25. // Método Bolha
  26.  
  27. #define TAMANHO 5
  28.  
  29. int main()
  30. {
  31.     int Vetor[TAMANHO] = {5, 1, 9, 4, 2}; //Vetor de exemplo
  32.     int Trocou;
  33.     int i, Ls, Auxiliar;
  34.     printf("Vetor original: [");
  35.     /* Exibe o vetor original */
  36.     for (i = 0; i < TAMANHO; i++)
  37.         printf(" %i ", Vetor[i]);
  38.     printf("]\n\n");
  39.  
  40.     /* MÉTODO BOLHA */
  41.     Ls = TAMANHO - 1;  // Ls: Limite do Índice Superior do Vetor.
  42.     do
  43.     {
  44.         Trocou = 0;    // Verifica se existem termos fora de ordem.
  45.         for (i = 0; i < Ls; i++)
  46.         {
  47.             if (Vetor[i] > Vetor[i + 1])
  48.             {
  49.                 Auxiliar = Vetor[i];
  50.                 Vetor[i] = Vetor[i + 1];
  51.                 Vetor[i + 1] = Auxiliar;
  52.                 Trocou = 1; //Ainda há elementos trocados no vetor.
  53.             }
  54.         }
  55.         Ls = Ls - 1;         // Reduz uma posição do vetor: última.
  56.     }while(Trocou);
  57.     /* FIM DO MÉTODO BOLHA */
  58.  
  59.     /* Exibe o vetor ordenado: Ordem ascendente */
  60.     printf("Vetor ordenado: [");
  61.     for (i = 0; i < TAMANHO; i++)
  62.         printf(" %i ", Vetor[i]);
  63.     printf("]\n");
  64.     return 0;
  65. }
  66.  
  67. // Pesquina Binária
  68.  
  69. #define TAMANHO 10
  70. int main()
  71. {
  72.     /*CONDIÇÃO: O Vetor deve estar ordenado para a Pesquisa Binária */
  73.     int Vetor[TAMANHO] = {4, 5, 9, 10, 11, 12, 15, 20, 21, 30};
  74.     int Procurado;              // Usuário escolhe o valor procurado.
  75.     int Saida = -1;             // Índice para elemento NÃO encontrado.
  76.     int Li = 0;                 // Li: Limite Inferior do Vetor.
  77.     int Ls = TAMANHO - 1;       // Ls: Limite Superior do Vetor.
  78.     int Meio;                   // Índice da Metade do Vetor.
  79.     printf("Digite o valor procurado: ");scanf("%i", &Procurado);
  80.     while(Li <= Ls && Saida == -1)
  81.     {
  82.         Meio = (Li + Ls) / 2;
  83.         if(Vetor[Meio] == Procurado)
  84.             Saida = Meio; //Índice do valor procurado pelo usuário
  85.         else if(Vetor[Meio] > Procurado)
  86.             Ls = Meio - 1;
  87.         else
  88.             Li = Meio + 1;
  89.     }
  90.     if (Saida == -1)
  91.         printf("Valor procurado: %i nao foi encontrado.\n\n", Procurado);
  92.     else
  93.         printf("Valor procurado: %i encontrado no Indice: %i.\n\n", Vetor[Saida], Saida);
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement