Ir ao conteúdo

Posts recomendados

Postado

Elabore uma função que receba um vetor de 15 posições, e ordene o vetor da seguinte forma, ressaltando que 1º indica o menor valor e 15º indica o maior valor:

14º |12º| 10º| 8º| 6º| 4º| 2º| 1º| 3º| 5º| 7º| 9º |11º| 13º| 15º

DICA: Utilize uma função a parte para ordenar os valores.

Eu consegui fazer o codigo q ordena dessa forma os pares e os impares, mas não é o objetivo da questão.

Esse é o codigo q eu fiz,  onde devo mudar?

int main(){
    int M[15], N[15], x=0, y=0, aux=0;
    for(x=0; x<15; x++){
        printf("Entre com um inteiro para o vetor[%d]:",x);
        scanf("%d", &aux);
        M[x]= aux;
        N[x] = aux;
    }
    for(x=0; x<15; x++){
        for(y=x+1; y<15; y++){
            if(M[y]>M[x]){
                aux = M[y];
                M[y] = M[x];
                M[x] = aux;
            }
        }
    }
 for(x=0; x<15; x++){
        if(M[x]%2==0)
        printf("%d, ", M[x]);
}
    for(x=0; x<15; x++){
        for(y=x+1; y<15; y++){
            if(N[x]>N[y]){
                aux = N[x];
                N[x] = N[y];
                N[y] = aux;
            }
        }
    }
    for(x=0; x<15; x++){
        if(N[x]%2!=0)
        printf("%d, ", N[x]);
}
}
 

  • Curtir 1
Postado

@santos93   seu código está bom, precisa organizar melhor ,então seu código ficaria assim :

#include <stdio.h>
/*#include <iostream>*/
#include <stdlib.h>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <windows.h>
#include <math.h>
int main(){
    srand(time(NULL));
    int M[15], N[15], x=0, y=0, aux=0;
    for(x=0; x<15; x++){
        /*printf("Entre com um inteiro para o vetor[%d]:",x);*/
        /*scanf("%d", &aux);*/
        aux=rand()%100;
        M[x]= aux;
        N[x] = aux;
    }
    for(x=0; x<15; x++){
        for(y=x+1; y<15; y++){
            if(M[y]< M[x]){
                aux = M[y];
                M[y] = M[x];
                M[x] = aux;
            }
        }
        printf("%d ",M[x]);
    }
    printf("\n\n");
    for(x=14; x>-1; x--){
        if(M[x]%2==0)
        printf("%d, ", M[x]);
    }
    for(x=0; x<15; x++){
        if(M[x]%2!=0)
            printf("%d, ", M[x]);
    }    
    getch();
    return 0;
}

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!