PROGRAM MultiArrays

! Written by Kate T-C
! September 14, 2009

implicit none

integer :: i,j
integer, dimension(:), allocatable :: StartingArray
integer, dimension(:,:), allocatable :: Array2d
integer :: numNumbers, sDim

print *, 'How many numbers?'
read *, numNumbers

allocate(StartingArray(numNumbers))
StartingArray = (/ (i,i=1,numNumbers) /)

print *, StartingArray

sDim = numNumbers**0.5
print *, 'The square array dimension is', sDim

! Allocate a square array, fill it with a reshape
! from the origional array, and then print it out
if(sDim > 0) then
	allocate(Array2d(sDim,sDim))
	Array2d = reshape(StartingArray, (/ sDim, sDim /))
	
	do i=1,sDim
		print *, (Array2d(i,j),j=1,sDim)
	enddo
endif



END
