! 例題 6-7 行列の加工(平方根)[WHERE 文 ] PROGRAM ex6_7 IMPLICIT NONE INTEGER :: i, m = 0, n = 0 REAL, ALLOCATABLE :: a( : , : ) DO WHILE ( m <= 0 .OR. n <= 0 ) PRINT *, 'Input array size m, n ( > 0 ) : ' READ *, m, n END DO ALLOCATE ( a( 1 : m, 1 : n ) ) PRINT '( 1X, A )', 'Input elements of a : ' DO i = 1, m READ *, a( i, 1 : n ) END DO WHERE ( a < 0.0E0 ) a = 0.0E0 DO i = 1, m PRINT '( 10F8.5 )', SQRT( a( i, 1 : n ) ) ! 1行で表示するため10列以内と仮定してある END DO END PROGRAM ex6_7