#include <stdlib.h>
#include <sys/time.h>
typedef long Vetor[20];
Vetor A;
int  n, i;


double rand0a1() {
  double resultado=  (double) rand()/ RAND_MAX; /* Dividir pelo maior inteiro */
  if(resultado>1.0) resultado= 1.0;
  return resultado;
}


void Permut(Vetor A, int n)
{ /* Obtem permutacao randomica dos numeros entre 1 e n */
  int  i, j, b;

  for (i = n; i >= 1; i--) {
    j = (long)(i * rand0a1()  + 1);
    b = A[i-1];
    A[i-1] = A[j-1];
    A[j-1] = b;
  }
}


int main(int argc, char *argv[])

{ struct timeval semente;
  gettimeofday(&semente,NULL); // utilizar o tempo como semente para a funcao srand()
  srand((int)(semente.tv_sec + 1000000*semente.tv_usec));
   
  n = 10;
  for (i = 1; i <= n; i++)
    A[i-1] = i;
  Permut(A, n);
  for (i = 1; i <= n; i++)
    printf("%d ", A[i-1]);
  putchar('\n');
  return 0;
}





