1! pr 14942, list directed io
2      program d
3      implicit none
4      integer i, j, m, n, nin, k
5      real x(3,4)
6      data x / 1,1,1,2,2,2,3,3,3,4,4,4 /
7      real y(3,4)
8      data y / 1,1,1,2,2,2,3,3,3,4,4,4 /
9      logical debug ! set me true to see the output
10      debug = .FALSE.
11      nin = 1
12      n = 4
13      open(unit = nin)
14      write(nin,*) n
15      do I = 1,3
16        write(nin,*)(x(i,j), j=1, n)
17      end do
18      m = 3
19      n = 4
20      write(nin,*) m,n
21      do I = 1,3
22         write(nin,*)(x(i,j), j=1, n)
23      enddo
24      close(nin)
25! ok, the data file is written
26      open(unit = nin)
27      read(nin, fmt = *) n
28      if (debug ) write(*,'(A,I2)') 'n = ', n
29      do i = 1, 3
30         do K = 1,n
31             x(i,k) = -1
32         enddo
33         read(nin, fmt = *) (x(i,j), j=1, n)
34         if (debug) write(*, *) (x(i,j), j=1, n)
35          do K = 1,n
36              if (x(i,k).ne.y(i,k)) STOP 1
37          end do
38      end do
39      m = 0
40      n = 0
41      read(nin, fmt = *) m, n
42      if (debug) write(*,'(A,I2,2X,A,I2)') 'm = ', m, 'n = ', n
43      do i = 1, m
44         do K = 1,n
45             x(i,k) = -1
46         enddo
47         read(nin, fmt = *) (x(i,j), j=1, n)
48         if (debug) write(*, *) (x(i,j), j=1, n)
49         do K = 1,n
50              if (x(i,k).ne.y(i,k)) STOP 2
51         end do
52      end do
53      close(nin, status='delete')
54      end program d
55