Guest User

Untitled

a guest
Jan 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. void transVetor(int numero,int *vet)
  5. {
  6.     int i,j,tam;
  7.     tam=numero;
  8.     for(i=2,j=0; i<=numero; j++,i++)
  9.     {
  10.         vet[j]=i;
  11.     }
  12.     vet[j]=0;
  13.     for(j--,i=0; i<=j; i++)
  14.     {
  15.         printf(" %d",vet[i]);
  16.     }
  17. }
  18. void primos(int numero)
  19. {
  20.     int i,j,tam=0,k,l,x,y;
  21.     int *vet;
  22.     vet=(int*)malloc((sizeof(int)*numero)-1);
  23.     int*aux;
  24.     tam=(int)sqrt(numero);
  25.     transVetor(numero,vet);
  26.     printf("\n\n");
  27.     for(i=0; vet[i]!=0; i++)
  28.     {
  29.         aux=(int*)malloc((sizeof(int)*numero)-1);
  30.         aux[i]=vet[i];
  31.     }
  32.     for(i=0; vet[i]!=0&&vet[i]<=tam; i++)
  33.     {
  34.         for(j=0,k=0; vet[j]!=0; j++)
  35.         {
  36.             if(vet[j]%vet[i]!=0 || vet[j]==vet[i])
  37.             {
  38.                 aux[k]=vet[j];
  39.                 printf(" %d",vet[j]);
  40.                 k++;
  41.             }
  42.             aux[k]=0;
  43.         }
  44.         printf("\n");
  45.  
  46.         if(k!=0)
  47.         {
  48.             x=(int*)realloc(vet,sizeof(int)*(k+1));
  49.             vet=x;
  50.             y=(int*)realloc(aux,sizeof(int)*(k+1));
  51.             aux=y;
  52.  
  53.             for(l=0; aux[l]!=0; l++)
  54.             {
  55.                 vet[l]=aux[l];
  56.             }
  57.             vet[l]=0;
  58.         }
  59.         printf("\n");
  60.     }
  61.  
  62. }
  63. int main()
  64. {
  65.     int numero;
  66.     //int *vet;
  67.  
  68.     printf("Digite o numero : ");
  69.     scanf("%d",&numero);
  70.     printf("\n\n");
  71.     //vet=(int*)malloc((sizeof(int)*numero)-1);
  72.     primos(numero);
  73.  
  74.  
  75.  
  76.     return 0;
  77. }
Add Comment
Please, Sign In to add comment