Ordenar Elementos de um Array

CBeginner
Pratique Agora

Introdução

Este laboratório irá guiá-lo através de um processo passo a passo para ordenar elementos de um array em ordem ascendente.

Criar um novo arquivo

Crie um novo arquivo de programa C chamado main.c no diretório ~/project/. É aqui que você escreverá seu código.

Declarar variáveis

Comece declarando as variáveis necessárias que você usará ao ordenar o array:

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];
  • n armazena o número de elementos
  • arr será o array que conterá os elementos
  • i e j são contadores de loop
  • temp é uma variável temporária usada para trocar elementos

Inserir elementos no array

Peça ao usuário para inserir o número de elementos que ele deseja ordenar e, em seguida, solicite que ele insira cada elemento:

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

Ordenar os elementos do array

Use um loop for aninhado para ordenar o array:

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

Exibir os elementos do array ordenado

Exiba os elementos do array ordenado:

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

Compilar e executar o programa

Compile e execute o programa para garantir que ele funcione corretamente.

Código completo em main.c

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

    return 0;
}

Resumo

Neste laboratório, você aprendeu como ordenar elementos de um array em ordem crescente usando um programa em C. Agora você pode usar este conhecimento para ordenar arrays com seu próprio código.