program main
  implicit none

  integer, parameter :: imin = 11
  integer, parameter :: imax = 20
  integer :: i
  integer, pointer :: array(:)

  allocate(array(imin:imax))
  array(:) = 0

  call put_data(imax-imin+1, array)
  do i = imin, imax
    print*, 'i:',i,', array(i):',array(i)
  enddo
end program main