Pesquisar este blog

Livros Recomendados

sábado, 30 de janeiro de 2021

URI - 1244 - Ordenação por Tamanho - Estruturas - C++ - Solução Alternativa

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 <algorithm>
#include <iostream>
#include <vector>

using namespace std;

bool compara(const string &a, const string &b) {
    return a.size() > b.size();
}

int main() {
    
    int n, pos, i;
    string linha, sep = " ", token;
    vector<string> palavras;
    
    cin >> n;
    cin.ignore();
    
    while (n--) {
        getline(cin, linha);
        pos = 0;
        while ((pos = linha.find(sep)) != string::npos) {
            
            token = linha.substr(0, pos);
            palavras.push_back(token);
            linha.erase(0, pos + sep.length());
            
        }
        palavras.push_back(linha);
        stable_sort(palavras.begin(), palavras.end(), compara);

        for (i = 0; i < palavras.size()-1; i++)
            cout << palavras.at(i) << " ";
        cout << palavras.at(i) << endl;
        
        palavras.clear();
    }

    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