program ch1107
implicit none
integer , dimension(1:2,1:4) :: x
integer , dimension(1:8)   :: y=(/1,2,3,4,5,6,7,8/)
integer , dimension(1:6)   :: z=(/1,2,3,4,5,6/)
integer :: r,c
  print *,' Source array y'
  print *,y
  print *,' Source array z'
  print *,z
  print *,' Simple reshape sizes match'
  x=reshape(y,(/2,4/))
  do r=1,2
    print *,(x(r,c),c=1,4)
  end do
  print *,' Source 2 elements smaller pad with 0'
  x=reshape(z,(/2,4/),(/0,0/))
  do r=1,2
    print *,(x(r,c),c=1,4)
  end do
  print *,' As previous now specify order as 1*2'
  x=reshape(z,(/2,4/),(/0,0/),(/1,2/))
  do r=1,2
    print *,(x(r,c),c=1,4)
  end do
  print *,' As previous now specify order as 2*1'
  x=reshape(z,(/2,4/),(/0,0/),(/2,1/))
  do r=1,2
    print *,(x(r,c),c=1,4)
  end do
end program ch1107


