program acon ! This file: ! http://ftp.aset.psu.edu/pub/ger/fortran/hdk/ArrayConstructor.f90 ! ! Examples of Use of Array Constructors and Reshaping Arrays. ! Thanks to several posters at comp.lang.fortran forum. implicit none integer :: i,j integer, parameter :: n=5 integer, dimension(2*n) :: vec1=(/2,5,1,3,4, (i,i=n,1,-1)/) integer, dimension(n) :: vec2=(/ (3*i+5, i=1,n) /) integer, dimension(2,3) :: x integer :: a(2,3,4) = reshape((/(i,i=1,24)/),(/2,3,4/)) integer :: b(4,3,2) print *, vec1 print *, vec2 print *, " " x = reshape((/ 1,2,3,4,5,6 /),(/ 2,3 /), Order=(/2,1/) ) write(unit=*,fmt="(1x,3i3)") ((x(i,j),j=1,3),i=1,2) print *, " " b = reshape((/((a(i,j,:),i=1,2),j=1,3)/),(/4,3,2/)) write (*,'(24i3)') a write (*,'(24i3)') b ! Results: ! 2 5 1 3 4 5 4 3 2 1 ! 8 11 14 17 20 ! ! 1 2 3 ! 4 5 6 ! ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ! 1 7 13 19 2 8 14 20 3 9 15 21 4 10 16 22 5 11 17 23 6 12 18 24 end