Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #include <stdlib.h> int main(void) { int N, numero, tamanhoPar = 0, tamanhoImpar = 0, maior = 0; scanf("%d", &N); int vetPar[N], vetImpar[N]; while(N--) { scanf("%d", &numero); if(numero % 2 == 0) { vetPar[tamanhoPar] = numero; if(vetPar[tamanhoPar] == maior) { maior = vetPar[tamanhoPar]; } tamanhoPar++; }else { vetImpar[tamanhoImpar] = numero; tamanhoImpar++; } } int a = 0, b = 0; int *vetorAuxiliar = calloc(maior, sizeof(int)); for(a = 0; a < tamanhoPar; a++) { vetorAuxiliar[vetPar[a]]++; } a = 0; while(a <= tamanhoPar) { while(vetorAuxiliar[b] > 0) { vetPar[a] = b; vetorAuxiliar[b]--; a++; if(a > tamanhoPar) { break; } } b++; } int memoria, troca, i, j; troca = 1; for(j = tamanhoImpar-1; (j>=1) && (troca==1); j--){ troca=0; for(i = 0; i < j; i++) { if(vetImpar[i] < vetImpar[i+1]) { memoria = vetImpar[i]; vetImpar[i] = vetImpar[i+1]; vetImpar[i+1] = memoria; troca = 1; } } } for(i = 0; i < tamanhoPar; i++) { printf("%d\n", vetPar[i]); } for(i = 0; i < tamanhoImpar; i++) { printf("%d\n", vetImpar[i]); } return 0; }
Compartilhar