Como Ordenar String usando Selection Sort em C?

izasminizasmin
1 min read

Usando o mesmo princípio da abordagem anterior, adaptamos a estrutura criada em int para strings ainda dentro da concepção de função retornada na main.

Escreva um programa que leia até 10 palavras e apresente elas em ordem alfabética.

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

void ordena(char troca[][100], int n) {
    int i, j, indice;
    char ordenado[100];
    for (i = 0; i < n - 1; i++) {
        indice = i;
        for (j = i + 1; j < n; j++) {
            if (strcmp(troca[j], troca[indice]) < 0) {
                indice = j;
            }
        }
        strcpy(ordenado, troca[i]);
        strcpy(troca[i], troca[indice]);
        strcpy(troca[indice], ordenado);
    }
}

int main() {
    char palavras[10][100];
    int i, n;

    printf("Digite o número de palavras (até 10): ");
    scanf("%d", &n);
    getchar(); // Limpar o buffer do teclado

    printf("Digite as palavras:\n");
    for (i = 0; i < n; i++) {
        fgets(palavras[i], 100, stdin);
        palavras[i][strlen(palavras[i]) - 1] = '\0'; // Remover o caractere de nova linha
    }

    ordena(palavras, n);

    printf("\nPalavras em ordem alfabética:\n");
    for (i = 0; i < n; i++)
        printf("%s\n", palavras[i]);

    return 0;
}

Obrigada por ler até aqui

0
Subscribe to my newsletter

Read articles from izasmin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

izasmin
izasmin

A paixão por moda e tecnologia me levaram ao mundo de ciência de dados, e venho aqui compartilhar o melhor dos 2 mundos.