aula 117

Exercício 7 | Faça um programa para ordenar um vetor de números inteiros na linguagem C

Seja muito bem vindo à aula 117 do nosso curso gratuito de programação com a linguagem C.

Hoje, no exercício 7, vamos fazer um programa para ordenar um vetor de números inteiros com a linguagem C.

7) Faça um programa para ordenar um vetor com 100 números inteiros. Imprima o vetor antes e após a ordenação.

O algoritmo apresentado, apesar de não ser muito eficiente, é um dos algoritmos de ordenação mais simples. Ele é conhecido como bubble sort ou algoritmo bolha, devido seu comportamento de levar sempre o maior elemento para o final do vetor.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {

    int i, contador = 0, troca, copia, vetor[100];

    srand(time(NULL));

    // preenche o vetor com números entre 0 e 999
    for(i = 0; i < 100; i++){
        vetor[i] = rand() % 1000;
    }

    // imprime o vetor antes da ordenação
    printf("Antes da ordenacao:\n");
    for(i = 0; i < 100; i++){
        printf("%3d ", vetor[i]);
    }

    // ordena o vetor
    do{ // executa enquanto foi feito ao menos uma troca
        troca = 0;
        contador++; // conta a quantidade de vezes que este trecho foi executado
        for(i = 0; i < 99; i++){ // percorre todo o vetor comparando o elemento i com o i+1
            if(vetor[i] > vetor[i+1]){ // se o elemento i for maior que o i+1, troca
                copia = vetor[i];
                vetor[i] = vetor[i+1];
                vetor[i+1] = copia;
                troca = 1;
            }
        }
    }while(troca);

    // imprime o vetor após a ordenação
    printf("\nApos a ordenacao: Contador: %d\n", contador);
    for(i = 0; i < 100; i++){
        printf("%3d ", vetor[i]);
    }

    return 0;
}

Deixe um comentário

5 × 3 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.