Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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 .

 

Postado

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
Postado

@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");
}

 

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...