Pesquisar este blog

Livros Recomendados

sábado, 30 de janeiro de 2021

URI - 1244 - Ordenação por Tamanho - Estruturas - C

Plataforma: URI
Problema1244

Enunciado
Crie um programa para ordenar um conjunto de strings pelo seu tamanho. Seu programa deve receber um conjunto de strings e retornar este mesmo conjunto ordenado pelo tamanho das palavras, se o tamanho das strings for igual, deve-se manter a ordem original do conjunto.

Linguagem: C


Solução:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const char a[], const char b[]) {
    return strlen(a) < strlen(b);
}

int main() {
    
    int n, pos, i, j;
    char palavras[51][51];
    char linha[2700];
    char *token;
    
    scanf("%i ", &n);
    
    while (n--) {
        fgets(linha, 3000, stdin);
        pos = 0;
        token = strtok(linha, " \n");
        for (i = 0; token != NULL; i++) {
            strncpy(palavras[i], token, 50);
            token = strtok(NULL, " \n");
        }
        
        qsort(palavras, i, 51, compare);
        for (j = 0; j < i - 1; j++)
            printf("%s ", palavras[j]);
        printf("%s\n", palavras[j]);
        
        memset(palavras, 0, sizeof(palavras));
    }

    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas