diegomrodrigues

Ordenar vetor de inteiros informados pelo usuário

Jan 3rd, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. /**
  2.  * Ordenar um vetor de inteiros
  3.  * O usuário irá digitar os valores do vetor
  4.  *
  5.  * Diego Mendes Rodrigues
  6.  *********************************/
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9.  
  10. int main(void) {
  11.   /* Vetor de inteiros - será alocado na memória */
  12.   int *vetor;
  13.  
  14.   /* Variável auxiliar */
  15.   int aux;
  16.  
  17.   /* Perguntar para o usuário o tamanho do vetor */
  18.   int tamanho;
  19.   printf("Informe tamanho do vetor: ");
  20.   scanf("%d", &tamanho);
  21.  
  22.   /* Alocar o vetor na memória */
  23.   vetor = (int *) malloc(tamanho * sizeof(int));
  24.  
  25.   for (int i=0; i<tamanho; i++)
  26.   {
  27.     printf("\nDigite o valor para a posicao %d do vetor: ", i+1);
  28.     scanf("%d",&vetor[i]);
  29.   }
  30.  
  31.   /* Exibir o vetor antes de ordenar */
  32.   printf("\nAntes:\n");
  33.   for(int i=0; i<tamanho; i++)
  34.     printf("%d ", vetor[i]);
  35.  
  36.   /* Ordenar o vetor - Bubble Sort */
  37.   for (int fim=(tamanho-1); fim>=0; fim--)
  38.     for (int i=0; i<fim; i++)
  39.     {
  40.       if (vetor[i] > vetor[i + 1])
  41.       {
  42.         aux = vetor[i];
  43.         vetor[i] = vetor[i + 1];
  44.         vetor[i + 1] = aux;
  45.       }
  46.     }
  47.  
  48.   /* Exibir o vetor ordenado */
  49.   printf("\n\nDepois (ordenado):\n");
  50.   for(int i=0; i<tamanho; i++)
  51.     printf("%d ", vetor[i]);
  52.  
  53.   printf("\n");
  54.  
  55.   /* Liberar o espaço alocado na memória pelo vetor */
  56.   free(vetor);
  57.  
  58.   return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment