fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void) {
  5. int *pares, *impares, qtdPares = 0, qtdImpares = 0;
  6. int *vetorPrincipal, tamanho = 5;
  7. int i;
  8.  
  9. vetorPrincipal = (int *) malloc(tamanho*sizeof(int));
  10.  
  11. //ler os valores do vetor
  12. for (i = 0; i < tamanho; i++) {
  13. printf("Valor %d: ", i+1);
  14. scanf("%d", &vetorPrincipal[i]);
  15.  
  16. if (vetorPrincipal[i] % 2 == 0) {
  17. qtdPares++;
  18. } else {
  19. qtdImpares++;
  20. }
  21. }
  22.  
  23. //alocando dinamicamente a memória para os pares e impares
  24. pares = (int *) malloc(qtdPares*sizeof(int));
  25. impares = (int *) malloc(qtdImpares*sizeof(int));
  26.  
  27. //inserindo os valores pares e impares em seus vetores
  28. int i_par = 0;
  29. int i_impar = 0;
  30.  
  31. for (i = 0; i < tamanho; i++) {
  32. if (vetorPrincipal[i] % 2 == 0) {
  33. pares[i_par] = vetorPrincipal[i];
  34. i_par++;
  35. }
  36. else {
  37. impares[i_impar] = vetorPrincipal[i];
  38. i_impar++;
  39. }
  40. }
  41.  
  42. //imprimir o vetor principal
  43. printf("\nVetor = [ ");
  44. for (i = 0; i < tamanho; i++) {
  45. printf("%d ", vetorPrincipal[i]);
  46. }
  47. printf("]");
  48.  
  49. //imprimir pares e impares
  50. printf("\n\nNúmeros PARES = [ ");
  51. for (i = 0; i < qtdPares; i++) {
  52. printf("%d ", pares[i]);
  53. }
  54. printf("]");
  55.  
  56. printf("\nNúmeros IMPARES = [ ");
  57. for (i = 0; i < qtdImpares; i++) {
  58. printf("%d ", impares[i]);
  59. }
  60. printf("]");
  61.  
  62. return 0;
  63. }
Success #stdin #stdout 0s 5572KB
stdin
1
2
3
4
5
stdout
Valor 1: Valor 2: Valor 3: Valor 4: Valor 5: 
Vetor = [ 1 2 3 4 5 ]

Números PARES = [ 2 4 ]
Números IMPARES = [ 1 3 5 ]