Ir ao conteúdo
  • Cadastre-se

C Função que Ordenar 4 números em ordem crescente


Posts recomendados

Gente eu não estou conseguindo fazer esse exercício. "Escreva um programa que receba como entrada 4 números
inteiros (desordenados) e passe-os como parâmetro para uma função que deverá imprimi-los em ordem crescente "

 

#include<stdio.h>
int main (){
    int a,b,c,d, ordem;
    printf("Digite o primeiro valor:\n");
    scanf("%i",&a);
    printf("Digite o segundo valor:\n");
    scanf("%i",&b);
    printf("Digite o terceiro valor:\n");
    scanf("%i",&c);
    printf("Digite o terceiro valor:\n");
    scanf("%i",&d);
    ordem = ordemCrescente(a,b,c,d);
    printf("ordem = %i,%i,%i,%i ", ordem);
    }
        int  ordemCrescente( n1, n2,n3,n4 ) {

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Jemima Fonseca Passos    pelo que foi dito é a função que deve imprimir os números, e para isso você precisa colocar esses números em ordem cescente, então você pode usar o método bublesort , dentro da função coloque os números nas posições de um vetor e use estes loops aqui :

for(i=0;i<4;i++){
    for(j=i+1;j<4;j++){
        if(vetor[i] > vetor[j]){
            aux=vetor[i];
            vetor[i]=vetor[j];
            vetor[j]=aux;
        }
    }
}

com isso na saida desse loop você pode imprimir os números que estão nas posições do  vetor em ordem crescente .

 

Link para o comentário
Compartilhar em outros sites

Obrigada Devair

 

O código ficou assim

 

 

 

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

    void ordena();    
    int vet[5];

    int main(){
    int i;
        for (i=0; i<4; i++){    
            printf("Digite os vets para ordenar: ");
            scanf("%d", &vet);
        }
        ordena(); //chama a função para ordenar
        for (i=0; i<4; i++){    
            printf("vets ordenados: %d \n", vet);
        }
        printf("\n");
        system("pause");
    }  //fim main

    void ordena(){         
        int i, j, aux;
            for( i=0; i<4; i++ ){
                 for( j=i+1; j<4; j++ ){
                      if( vet > vet[j] ){
                          aux = vet;
                          vet = vet[j];
                          vet[j] = aux;
                      }
                 }
            }
            printf("\n Ordenado com sucesso!\n\n");
    }


 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Jemima Fonseca Passos     seu código ficou bom , mas como você não usou o botão   <>   que está lá na barra de ferramentas da janela de responder, seu código ficou faltando alguns caracteres do texto como o  [ i ]  então seu código com esses caracteres ficaria assim :

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

void ordena();
int vet[5];

int main(){
    int i;
    for (i=0; i<4; i++){
        printf("Digite os vets para ordenar: ");
        scanf("%d", &vet[i]);
    }
    ordena(); /*//chama a função para ordenar*/
    for (i=0; i<4; i++){
        printf("vets ordenados: %d \n", vet[i]);
    }
    printf("\n");
    system("pause");
} /* //fim main*/

void ordena(){
    int i, j, aux;
    for( i=0; i<4; i++ ){
        for( j=i+1; j<4; j++ ){
            if( vet[i] > vet[j] ){
                aux    = vet[i];
                vet[i] = vet[j];
                vet[j] = aux;
            }
        }
    }
    printf("\n Ordenado com sucesso!\n\n");
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...