! 例題 9-7 部分行列(窓)の抽出 [ポインタ ] PROGRAM ex9_7 IMPLICIT NONE INTEGER, POINTER :: window( : , : ) ! 2次元配列 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, 1 : n - m + 1 ) END DO END PROGRAM ex9_7