Ir para conteúdo
Fórum Script Brasil
  • 0

Programa ajuda


abreu

Pergunta

bom pessoal estou com um probleminha.. espero que me ajudem

fiz um programa com os metodos de ordenação bolha, seleção direta, inserção e shellsort....

poise agora no final do programa vou precisar de ordenar 4 variveis .... é como vou fazer isso, alguém tem um codigo que ordene 4 variaveis...

por favor desde já agradeço

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

olha.....existe na biblioteca string uma funcao pra ordenar alfabeticamente...

mas eu fiz uma só pra você fragar aew e ver como funciona ordenação:

#include <string>
#include <iostream>
using namespace std;

const int x = 10;

void Ordenar(string frase[x]);

int main()
{
    int i, j, k;
    string palavra[x];
    for (i = 0; i < x; i++)
    {
        cout<<endl<<"digite a frase "<<i + 1<<':'<<endl;
        cin>>palavra[i];
    }
    Ordenar(palavra);
    system("pause");
    return 0;
}

void Ordenar(string frase[x])
{
    bool lol[x][100];
    int cont[x];
    char post[x][100];
    int pass, pass2;
    int inteiro[x][100];
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < frase[i].size(); j++)
        {
            inteiro[i][j] = frase[i][j];
            lol[i][j] = false;
            if (inteiro[i][j] <= 90)
            {
                inteiro[i][j] += 32;
                lol[i][j] = true;
            }
        }
    }
    for (int i = 0; i < x; i++)
    {
        cont[i] = i;
    }
    for (int j = 0; j < (x - 1); j++)
    {
        for (int k = (1 + j); k < x; k++)
        {
            for (int m = 0; m < frase[j].size(); m++)
            {
                if (inteiro[j][m] < inteiro[k][m])
                {
                    for (int n = 0; n < 20; n++)
                    {
                        pass = inteiro[j][n];
                        inteiro[j][n] = inteiro[k][n];
                        inteiro[k][n] = pass;
                    }
                    m = frase[j].size();
                    pass2 = cont[j];
                    cont[j] = cont[k];
                    cont[k] = pass2;
                }
                if (inteiro[j][m] > inteiro[k][m])
                {
                    m = frase[j].size();
                }
            }
        }
    }
    cout<<endl;
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < frase[cont[i]].size(); j++)
        {
            if (lol[cont[i]][j] == true)
            {
                inteiro[i][j] -= 32;
            }
            post[i][j] = inteiro[i][j];
        }
    }
    for (int i = (x - 1); i >= 0; i--)
    {
        for (int j = 0; j < frase[cont[i]].size(); j++)
        {
            cout<<post[i][j];
        }
        cout<<endl;
    }
}

tipow....é melhor ordenar por strings pois é mais facil a utilização... tah aew a dica!

Editado por LuKaum
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...