fork(2) download
  1. #include <stdio.h>
  2. #define MAX 10
  3.  
  4. int main(void) {
  5.  
  6. //vetor de dimensao 10
  7. int vetor [MAX] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  8. //apontador para vetor
  9. int *ptr_vetor;
  10. //novo vetor
  11. int novo_vetor[MAX];
  12. //apontador para novo vetor
  13. int *ptr_novo_vetor;
  14. //escolher numero
  15. // int escolha = 0;
  16. //contador
  17. // int contador = 0;
  18.  
  19. //ponteiro apontado ao primeiro vetor
  20. ptr_vetor = &vetor[0];
  21.  
  22. printf("\n--- Vetor ---");
  23. for (int i = 0; i < MAX; i++) {
  24. //mostra os valores do vetor
  25. printf("\nvalor : %d ", vetor[i]);
  26. }
  27.  
  28. printf("\n\n--- Ponteiro Vetor para Numero Pares ---");
  29. for (int i = 0; i < MAX; i++) {
  30. //escolha apenas numeros pares
  31. if (*(ptr_vetor + i) % 2 == 0) {
  32. //mostra os valores pares apontador ao vetor
  33. printf("\nNumero Par : %d ", *(ptr_vetor + i));
  34. //adiciona o numero par ao novo vetor
  35. novo_vetor[i / 2] = *(ptr_vetor + i);
  36. }
  37. }
  38. ptr_novo_vetor = novo_vetor;
  39.  
  40. printf("\n\n\n--- Novo Vetor ---");
  41. for (int i = 0; i < MAX / 2; i++) {
  42. //mostra os valores do novo vetor
  43. printf("\nvalor: %d ", novo_vetor[i]);
  44. }
  45.  
  46. printf("\n\n--- Ponteiro Novo Vetor ---");
  47. for (int i = 0; i < MAX / 2; i++) {
  48. //mostra os valores do novo ponteiro
  49. printf("\nNovo Vetor : %d ", *(ptr_novo_vetor+i));
  50. }
  51. return 0;
  52. }
Success #stdin #stdout 0s 2160KB
stdin
Standard input is empty
stdout
--- Vetor ---
valor : 1 
valor : 2 
valor : 3 
valor : 4 
valor : 5 
valor : 6 
valor : 7 
valor : 8 
valor : 9 
valor : 10 

--- Ponteiro Vetor para Numero Pares ---
Numero Par : 2 
Numero Par : 4 
Numero Par : 6 
Numero Par : 8 
Numero Par : 10 


--- Novo Vetor ---
valor: 2 
valor: 4 
valor: 6 
valor: 8 
valor: 10 

--- Ponteiro Novo Vetor ---
Novo Vetor : 2 
Novo Vetor : 4 
Novo Vetor : 6 
Novo Vetor : 8 
Novo Vetor : 10