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

Ordem crescente e decrescente em c++


lucasfenix2010

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

:wacko:

Segue abaixo um desenvolvimento meio psicodelico da estrutura de um código para o "progremia".

subs_x -> subscrito da estrutura for( para girar o loop),q. mais adiante no desenvolver do programa passar a fazer parte da estrutura de repetição aninhada p/a classificar os valores dos elementos do vetor

passar -> subscrito da primeira estrutura aninhada para auxiliar nas passagens dos valores dos elementos.

int_superior -> variavel para armazenar o tamanho do vetor que no caso é ( 5 ),

entrar_valor -> variavel para capturar e atribuir o valor numerico digitado pelo usuario.

Desenvolvimento do Alghorithmo:

bubbleSort.jpeg

#include<conio.h>

#include<iomanip>
using std::setiosflags;
using std::setprecision;
using std::setw;

#include<iostream>
using namespace std;
using std::cin;
using std::cout;
using std::endl;

#if !defined( z )
#define z 0
#endif

#if !defined( u )
#define u 1
#endif

#if !defined(int_inferior)
#define int_inferior 0
#endif

#if !defined(int_superior)
#define int_superior 5
#endif

unsigned long int main()
{
 system("CLS");

  unsigned long int subs_x = ( z );
  unsigned long int passar = ( z );
  unsigned long int entrar_valor = ( z );
  unsigned long int troca_valor = ( z );
  unsigned long int vetor_numeros[int_superior];
   
   //Habitando as casinhas do vetor_numeros inicialmente com o valor Null( 0 )
   for(subs_x = (int_inferior);subs_x <= (int_superior);subs_x = (subs_x + u))//Obsº: A incrementação do loop também pode ser escrita e executa conforme " subs_x++ ".
   {
    vetor_numeros[subs_x] = ( z );
   }

   //Agora habitando as casinhas do vetor com os valores digitados pelo usuario.
   for(subs_x = (int_inferior); subs_x <= (int_superior); subs_x++)
   {
    cout <<"\nInforme o valor do: " <<subs_x <<"º Numero Inteiro: ";
    cin >>entrar_valor;
    vetor_numeros[subs_x] = (entrar_valor);
   }


   //Visualizando os valores informados pelo usuario no vetor.
   for(subs_x = (int_inferior); subs_x <= (int_superior); subs_x++)
   {
    cout <<setw( 5 ) <<vetor_numeros[subs_x];
    cout <<'\n';
   }

    //Colocando o vetor em forma crescente
   for(passar = (int_inferior); passar <= (int_superior - u); passar++)
   { 
    for(subs_x = (int_inferior); subs_x <= (int_superior - u); subs_x++)
    {
    if(vetor_numeros[subs_x] > vetor_numeros[subs_x + u])
     {
      troca_valor = (vetor_numeros[subs_x]);
      vetor_numeros[subs_x] = (vetor_numeros[subs_x + u]);
      vetor_numeros[subs_x + u] = troca_valor;
     }
    }
   }

   cout <<endl;

   cout <<"\nOs Valores em Ordem Crescente do Vetor:";
   cout <<'\n';
   
     //Imprimindo os Valores Ordenados do Vetor
     for(subs_x = (int_inferior); subs_x <= (int_superior); subs_x++)
     {
      cout <<setw( 5 ) <<vetor_numeros[subs_x];
      cout <<'\n';
     }


   //Colocando o vetor em forma decrescente
   for(passar = (int_inferior); passar <= (int_superior - u); passar++)
   { 
    for(subs_x = (int_inferior); subs_x <= (int_superior - u); subs_x++)
    {
    if(vetor_numeros[subs_x] < vetor_numeros[subs_x + u])
     {
      troca_valor = (vetor_numeros[subs_x]);
      vetor_numeros[subs_x] = (vetor_numeros[subs_x + u]);
      vetor_numeros[subs_x + u] = troca_valor;
     }
    }
   }


   cout <<endl;

   cout <<"\nOs Valores em Ordem Decrescente do Vetor:";
   cout <<'\n';
   
     //Imprimindo os Valores em Ordem Descrecente do Vetor
     for(subs_x = (int_inferior); subs_x <= (int_superior); subs_x++)
     {
      cout <<setw( 5 ) <<vetor_numeros[subs_x];
      cout <<'\n';
     }
 system("PAUSE");

 return(NULL);

}

A classificação dos valores dos numeros inteiros inseridos na estrutura de um vetor em ordem crescente e/ou decrescente neste contexto pode ser denominada de "bubble sort, ou sinking sort, porque os valores menores e/ou maiores "sobem ou descem gradualmente para o topo ou final da estrutura do array.

Mais tarde dê uma olhadinha na net sobre o assunto acima citado.

obsº: Pode usar nome para as variaveis um pouco menor!...................

:rolleyes:

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

  • 0

pessoal consegui fazer com 3 variáveis assim, mas preciso fazer com 4, usando if e else, alguém me ajuda não cosegui!

if (a>b && a>c && b>c){
}
else if(a<b && a<c && c< B){aux=b;b=c;c=aux;}
else if(b<a && b<c && a<c){aux=b;b=a;a=aux;}
else if(b<a && b<c && c<a){aux=a;a=b;b=c;c=aux;}
else if(b<a && b<c && c<a){aux=a;a=c;c=aux;}
else if(c<a && c<b && a< B){aux=a;c=b;b=aux;}
else if(c<b && c<a && b<a){aux=a;a=c;b=c;c=aux;}
cout<<a<<b<<c;
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...