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

Ordem Crescente Com 4 Valores


Thiagouvui

Pergunta

Pessoal,

Estou tentando fazer um programa em C que ordene 4 valores usando os comando "If e Else". Eu consigo fazer utilizando 3 variáveis (3 valores). Utilizo aquele método que eu tenho uma variável de ajuda:

aux = a

a = b

b = aux

Porém, a "brincadeira" agora é com 4. Preciso imprimir em ordem crescente também.

Poderiam me ajudar???

Att,

Thiago Vinicius

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

ah cara

tem milhares de jeitos de fazer.

eu fiz assim:

- li os 4 números

- fiz um if e 3 else if para descobrir qual é o menor número e armazenei numa variavel men.

- depois eu coloquei um laço de 0 a 3 fazendo teste se cada número é maior que os outros, quando achar imprime o número.

- a cada volta do laço voce deve eliminar o maior, no meu caso: numero=men-1;

Link para o comentário
Compartilhar em outros sites

  • 0

então está simples:

- teste se cada número é maior que os outros, quando achar imprime o número e elmine ele, no meu exemplo: numero=men-1;

se voce fizer isso 4 vezes em sequencia no final voce tem em ordem decrescente os dados na tela

obs: esse algoritmo imprime na ordem decrescente.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu fiz um algoritmo aqui de rapidinho.. eu acho que matei essa charada.

Fica mais ou menos assim:

SE (A>B) E (A>C) E (A>D)

P1 = A

SENAO

SE (B>C) E (B>D) E (B>A)

P1 = B

SENAO

SE

(C>A) E (C>B) E (C>D)

P1= C

SENAO

P1=D

FIM

FIM

FIM

AGORA EU FAÇO UMA NOVA SÉRIE SE COMPARAÇÕES, COM MAIS UMA CONDIÇÃO (SE <P1)..(SE<P2)..(SE<P3)

Beleza??

valeuuuu!!

Link para o comentário
Compartilhar em outros sites

  • 0

SE (A>B) E (A>C) E (A>D)
   P1 = A
SENAO
   SE (B>C) E (B>D) E (B>A)
      P1 = B
   SENAO
      SE (C>A) E (C>B) E (C>D)
         P1= C
      SENAO
         P1=D
      FIM
   FIM
FIM

certo, até aqui P1 é o maior dos 4.

agora se voce iniciar uma nova busca por maior e armazenando em P2 por exemplo, no final P1=P2.

por isso eu disse que a cada bateria de testes voce deve eliminar um, nesse caso o maior.

Link para o comentário
Compartilhar em outros sites

  • 0

É uma possibilidade interessante. Mas vamos tomar por convenção que não há igualdade entre os valores. FIM DE PAPO!!

Como isso é um programa para a Faculdade..eu acho que não há outra possibilidade. Acho até que será esse o gabarito do trabalho.

Uma pergunta: Tenho o Dev C/C++ na minha maquina. Mas, quando compilo e executo, aparece o promt do dos escrito "Pressione qualque tecla para continuar..."

Você sabe do que se trata ?

Link para o comentário
Compartilhar em outros sites

  • 0
Uma pergunta: Tenho o Dev C/C++ na minha maquina. Mas, quando compilo e executo, aparece o promt do dos escrito "Pressione qualque tecla para continuar..."

Você sabe do que se trata ?

cara, só pode ter sido coisa do seu código.

É uma possibilidade interessante. Mas vamos tomar por convenção que não há igualdade entre os valores. FIM DE PAPO!!

bom, nesse caso aquilo que falei também está valendo.

veja só, voce tem 4 números. Ex: 1, 5, 3, 7

voce entra na primeira bateria de if e acha o 7 como maior, se voce não eliminar o 7 na segunda bateria de if voce selecionará ele novamente, entende?

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

  • 0

Pessoal, depois de muitas pesquisas venho aqui colaborar, porém fiz no método de Estrutura de decisão aninhada em linguagem C .... aqui compilou 100% ficou um pouco grande porque foi em tal condição e no meu caso tive que fazer defesa dessa questão na faculdade.

segue abaixo:

 

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

int main()
{
    
    float a,b,c,d;
    float maior, intermediario1, intermediario2, menor;

    printf("\n Informe 4 numeros: A, B, C e D: \n");
    scanf("%f%f%f%f",&a,&b,&c,&d);
    
/* Início das condições com A maior*/

    if (a>b && b>c && c>d)
    {
            menor=d; 
            intermediario2=c;
            intermediario1=b;
            maior=a;
    }
    else if (a>b && b>d && d>c)
    {
            menor=c; 
            intermediario2=d;
            intermediario1=b;
            maior=a;
    }
    else if (a>c && c>b && b>d)
    {
            menor=d; 
            intermediario2=b;
            intermediario1=c;
            maior=a;
    }
        else if (a>c && c>d && d>b)
    {
            menor=b; 
            intermediario2=d;
            intermediario1=c;
            maior=a;
    }
        else if (a>d && d>b && b>c)
    {
            menor=c; 
            intermediario2=b;
            intermediario1=d;
            maior=a;
    }
        else if (a>d && d>c && c>b)
    {
            menor=b; 
            intermediario2=c;
            intermediario1=d;
            maior=a;
    }
    
/* Início das condições com B maior*/
    
    if (b>a && a>c && c>d)
    {
            menor=d; 
            intermediario2=c;
            intermediario1=a;
            maior=b;
    }
    else if (b>a && a>d && d>c)
    {
            menor=c; 
            intermediario2=d;
            intermediario1=a;
            maior=b;
    }
    else if (b>c && c>a && a>d)
    {
            menor=d; 
            intermediario2=a;
            intermediario1=c;
            maior=b;
    }
        else if (b>c && c>d && d>a)
    {
            menor=a; 
            intermediario2=d;
            intermediario1=c;
            maior=b;
    }
        else if (b>d && d>a && a>c)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=d;
            maior=b;
    }
        else if (b>d && d>c && c>a)
    {
            menor=a; 
            intermediario2=c;
            intermediario1=d;
            maior=b;
    }
    
/* Início das condições com C maior*/

    if (c>a && a>b && b>d)
    {
            menor=d; 
            intermediario2=b;
            intermediario1=a;
            maior=c;
    }
    else if (c>a && a>d && d>b)
    {
            menor=b; 
            intermediario2=d;
            intermediario1=a;
            maior=c;
    }
    else if (c>b && b>a && a>d)
    {
            menor=d; 
            intermediario2=a;
            intermediario1=b;
            maior=c;
    }
        else if (c>b && b>d && d>a)
    {
            menor=a; 
            intermediario2=d;
            intermediario1=b;
            maior=c;
    }
        else if (c>d && d>a && a>b)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=d;
            maior=b;
    }
        else if (c>d && d>b && b>a)
    {
            menor=a; 
            intermediario2=b;
            intermediario1=d;
            maior=c;
    }
    
/* Início das condições com D maior*/

        else if (d>a && a>b && b>c)
    {
            menor=c; 
            intermediario2=b;
            intermediario1=a;
            maior=d;
    }
    else if (d>a && a>c && c>b)
    {
            menor=b; 
            intermediario2=c;
            intermediario1=a;
            maior=d;
    }
    else if (d>b && b>a && a>c)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=b;
            maior=d;
    }
        else if (d>b && b>c && c>a)
    {
            menor=a; 
            intermediario2=c;
            intermediario1=b;
            maior=d;
    }
        else if (d>c && c>a && a>b)
    {
            menor=b; 
            intermediario2=a;
            intermediario1=c;
            maior=d;
    }
        else if (d>c && c>b && b>a)
    {
            menor=a; 
            intermediario2=b;
            intermediario1=c;
            maior=d;
    }
    
/* Impressão dos números informados, em ordem de entrada do usuário*/

    printf("\n==== Valores Digitados ====\n");
    printf("a...............: %10.2f\n",a);    
    printf("b...............: %10.2f\n",b);
    printf("c...............: %10.2f\n",c);
    printf("d...............: %10.2f\n",d);

/* Impressão dos números informados, em ordem crescente*/

    printf("=== Lista em Ordem Crescente ===\n");
    printf("Menor...........: %10.2f\n",menor);
    printf("Intermediario2..: %10.2f\n",intermediario2);
    printf("Intermediario1..: %10.2f\n",intermediario1);
    printf("Maior...........: %10.2f\n",maior);
    
getch();
return 0;

}

 

Agora, Tayna Rodrigues disse:

Pessoal, depois de muitas pesquisas venho aqui colaborar, porém fiz no método de Estrutura de decisão aninhada em linguagem C: Criar um algoritmo para entrar com quatro números e descobrir sua ordem crescente e armazena-los em quatro variáveis com os seguintes nomes: maior, intermediário1, intermediario2 e menor (suponha quatro
números diferentes): .... aqui compilou 100% ficou um pouco grande porque tive que fazer todas as combinaçõs e no meu caso tive que fazer defesa dessa questão na faculdade.

segue abaixo:

 

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

int main()
{
    
    float a,b,c,d;
    float maior, intermediario1, intermediario2, menor;

    printf("\n Informe 4 numeros: A, B, C e D: \n");
    scanf("%f%f%f%f",&a,&b,&c,&d);
    
/* Início das condições com A maior*/

    if (a>b && b>c && c>d)
    {
            menor=d; 
            intermediario2=c;
            intermediario1=b;
            maior=a;
    }
    else if (a>b && b>d && d>c)
    {
            menor=c; 
            intermediario2=d;
            intermediario1=b;
            maior=a;
    }
    else if (a>c && c>b && b>d)
    {
            menor=d; 
            intermediario2=b;
            intermediario1=c;
            maior=a;
    }
        else if (a>c && c>d && d>b)
    {
            menor=b; 
            intermediario2=d;
            intermediario1=c;
            maior=a;
    }
        else if (a>d && d>b && b>c)
    {
            menor=c; 
            intermediario2=b;
            intermediario1=d;
            maior=a;
    }
        else if (a>d && d>c && c>b)
    {
            menor=b; 
            intermediario2=c;
            intermediario1=d;
            maior=a;
    }
    
/* Início das condições com B maior*/
    
    if (b>a && a>c && c>d)
    {
            menor=d; 
            intermediario2=c;
            intermediario1=a;
            maior=b;
    }
    else if (b>a && a>d && d>c)
    {
            menor=c; 
            intermediario2=d;
            intermediario1=a;
            maior=b;
    }
    else if (b>c && c>a && a>d)
    {
            menor=d; 
            intermediario2=a;
            intermediario1=c;
            maior=b;
    }
        else if (b>c && c>d && d>a)
    {
            menor=a; 
            intermediario2=d;
            intermediario1=c;
            maior=b;
    }
        else if (b>d && d>a && a>c)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=d;
            maior=b;
    }
        else if (b>d && d>c && c>a)
    {
            menor=a; 
            intermediario2=c;
            intermediario1=d;
            maior=b;
    }
    
/* Início das condições com C maior*/

    if (c>a && a>b && b>d)
    {
            menor=d; 
            intermediario2=b;
            intermediario1=a;
            maior=c;
    }
    else if (c>a && a>d && d>b)
    {
            menor=b; 
            intermediario2=d;
            intermediario1=a;
            maior=c;
    }
    else if (c>b && b>a && a>d)
    {
            menor=d; 
            intermediario2=a;
            intermediario1=b;
            maior=c;
    }
        else if (c>b && b>d && d>a)
    {
            menor=a; 
            intermediario2=d;
            intermediario1=b;
            maior=c;
    }
        else if (c>d && d>a && a>b)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=d;
            maior=b;
    }
        else if (c>d && d>b && b>a)
    {
            menor=a; 
            intermediario2=b;
            intermediario1=d;
            maior=c;
    }
    
/* Início das condições com D maior*/

        else if (d>a && a>b && b>c)
    {
            menor=c; 
            intermediario2=b;
            intermediario1=a;
            maior=d;
    }
    else if (d>a && a>c && c>b)
    {
            menor=b; 
            intermediario2=c;
            intermediario1=a;
            maior=d;
    }
    else if (d>b && b>a && a>c)
    {
            menor=c; 
            intermediario2=a;
            intermediario1=b;
            maior=d;
    }
        else if (d>b && b>c && c>a)
    {
            menor=a; 
            intermediario2=c;
            intermediario1=b;
            maior=d;
    }
        else if (d>c && c>a && a>b)
    {
            menor=b; 
            intermediario2=a;
            intermediario1=c;
            maior=d;
    }
        else if (d>c && c>b && b>a)
    {
            menor=a; 
            intermediario2=b;
            intermediario1=c;
            maior=d;
    }
    
/* Impressão dos números informados, em ordem de entrada do usuário*/

    printf("\n==== Valores Digitados ====\n");
    printf("a...............: %10.2f\n",a);    
    printf("b...............: %10.2f\n",b);
    printf("c...............: %10.2f\n",c);
    printf("d...............: %10.2f\n",d);

/* Impressão dos números informados, em ordem crescente*/

    printf("=== Lista em Ordem Crescente ===\n");
    printf("Menor...........: %10.2f\n",menor);
    printf("Intermediario2..: %10.2f\n",intermediario2);
    printf("Intermediario1..: %10.2f\n",intermediario1);
    printf("Maior...........: %10.2f\n",maior);
    
getch();
return 0;

}

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Com vetor é MUITO mais fácil, economiza tempo e energia. Mas como um exercício de raciocínio fazer sem vetor é válido. Código:

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


int main()

{

int v1, v2, v3, v4, backup;

    printf("valor1: ");
    scanf ("%d", &v1);
    printf ("\nvalor2: ");
    scanf ("%d", &v2);
    printf ("\nvalor3: ");
    scanf ("%d", &v3);
    printf ("\nvalor4: ");
    scanf ("%d", &v4);

    printf ("\n");

    if (v1>v2)

        {

        backup=v2;

        v2=v1;

        v1=backup;

        }

    if (v1>v3)

        {

        backup=v3;

        v3=v1;

        v1=backup;

        }

        if (v1>v4)

        {

        backup=v4;

        v4=v1;

        v1=backup;

        }

        if (v2>v3)

        {

        backup=v3;

        v3=v2;

        v2=backup;

        }

        if (v2>v4)

        {

        backup=v4;

        v4=v2;

        v2=backup;

        }

        if (v3>v4)

        {

        backup=v4;

        v4=v3;

        v3=backup;


        }

        printf ("\n\n %d - %d - %d - %d\n\n", v1, v2, v3, v4);

return 0;

    }

 

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,7k
×
×
  • Criar Novo...