fpontesmorales

Prova TPE_UFC

Jun 23rd, 2011
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct {
  5. int *ptr;
  6. int dim;
  7. } Vector;
  8.  
  9. int main (void)
  10. {
  11. Vector v1, v2;
  12.  
  13. int i,j;
  14.  
  15. printf("Digite o tamanho do vetor1: ");
  16. scanf("%d", &v1.dim);
  17.  
  18.     if (v1.dim%2!=0 )
  19.     {
  20.          v2.dim = v1.dim/2;
  21.          v2.dim++;
  22.     }
  23.     else
  24.     {
  25.         v2.dim = v1.dim/2;
  26.     }
  27.  
  28.  
  29. //alocando o primeiro vetor
  30.  
  31. if(!(v1.ptr = (int*) malloc (v1.dim * sizeof(int)))){
  32.     printf("Erro de Memoria\n");
  33.     system("pause");
  34.     exit(1); //sair do programa
  35.     }
  36.  
  37. //alocando o segundo vetor
  38.  
  39. if(!(v2.ptr = (int*) malloc (v2.dim * sizeof(int)))){
  40.     printf("Erro de Memoria\n");
  41.     system("pause");
  42.     exit(1); //sair do programa
  43.     }
  44.  
  45.  
  46. //preencher o vetor original
  47. printf("\n\nAgora digite abaixo os elementos do vetor:\n\n");
  48.     for(i=0;i<v1.dim;i++)
  49.         {
  50.             printf("Digite o elemento %d: ",i+1);
  51.             scanf("%d", (i+v1.ptr));
  52.         }
  53.  
  54. //printando o vetor original
  55. printf("\n");
  56. printf("Vetor original: [ ");
  57.  
  58.         for (i=0; i<v1.dim;i++)
  59.             {
  60.                 printf("%d ", *(i+v1.ptr) );
  61.             }
  62.             printf("]");
  63.             printf("\n");
  64.  
  65. // preenchendo o segundo vetor
  66.  
  67. for(i=0, j=0; j<v2.dim ;i=i+2, j++)
  68.     {
  69.  
  70.         *(j+v2.ptr) = *(i+v1.ptr);
  71.     }
  72. //printando o novo vetor
  73.  
  74. printf("Novo vetor: [ ");
  75.  
  76.     for (j=0; j<v2.dim; j++)
  77.  
  78.         {
  79.             printf("%d ", *(j+v2.ptr));
  80.         }
  81.  
  82. printf("]");
  83.  
  84. printf("\n");
  85. printf("\n");
  86.  
  87. //desalocando os dois vetores da memória
  88. free(v1.ptr);
  89. free(v2.ptr);
  90.  
  91. system("PAUSE");
  92. return(0);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment