implicit none
real :: r ! autres possibilites : tableau ( real :: r(3,3) par exemple), ou double precision

!initialisation de la graine
CALL init_seed_a_la_main()        
            
!appel de la procédure qui génère les nombres aleatoires
CALL RANDOM_NUMBER(r)
	print *,r

end 


! exemple d'initialisation du generateur a la main
SUBROUTINE init_seed_a_la_main()
implicit none
INTEGER :: i, n
INTEGER, DIMENSION(:), ALLOCATABLE :: graine

! demande au systeme quelle taille de graine il faut          
CALL RANDOM_SEED(size = n)
! on cree le tableau graine
ALLOCATE(graine(n))

do i=1,n,1
print *,'donnez un entier'
read *,graine(i)
enddo

! on met la graine dans le generateur
CALL RANDOM_SEED(PUT = graine)
          
! pour que la graine qu'on a utilisee ne prenne pas de place
DEALLOCATE(graine)

END SUBROUTINE
     
