!----- Ex9_3: Window of 2d Array ----- PROGRAM main INTEGER, POINTER :: window(:,:) INTEGER, TARGET :: mat(1:8,1:8) INTEGER :: i, j, m, n, k mat = RESHAPE( (/ (i, i = 1, 64) /), SHAPE(mat) ) PRINT*,"第何行から何行まで?(1≦i≦j≦8)"; READ*, i, j PRINT*,"第何列から何列まで?(1≦m≦n≦8)"; READ*, m, n ! window => mat(i:j, m:n) DO k = 1, j-i+1 PRINT '(8I5)', window(k, :) END DO END