C、C++、Fortran では、print、display、および watch コマンドによって、配列の断面化を行うことができます。
配列の各次元を断面化するための print コマンドの完全な構文は次のとおりです。
print array-expression [first-expression .. last-expression : stride-expression] |
ここで
配列またはポインタ型に評価されるべき式
印刷される最初の要素。デフォルトは 0
印刷される最後の要素。その上限にデフォルト設定
刻み幅の長さ (スキップされる要素の数は stride-expression-1)。デフォルトは 1
最初、最後、および刻み幅の各式は、整数に評価されなければならない任意の式です。
次に例を示します。
(dbx) print arr[2..4] arr[2..4] = [2] = 2 [3] = 3 [4] = 4 (dbx) print arr[..2] arr[0..2] = [0] = 0 [1] = 1 [2] = 2 (dbx) print arr[2..6:2] arr[2..6:2] = [2] = 2 [4] = 4 [6] = 6 |
配列の各次元を断面化するための print コマンドの完全な構文は次のとおりです。
print array-expression [first-expression : last-expression : stride-expression] |
ここで
配列型に評価される式
範囲内の最初の要素は、出力される最初の要素下限にデフォルト設定
範囲内の最後の要素。ただし刻み幅が 1 でない場合、出力される最後の要素とはなりません。その上限にデフォルト設定
刻み幅。デフォルトは 1
最初、最後、および刻み幅の各式は、整数に評価されなければならない任意の式です。n 次元の断面については、カンマで各断面の定義を区切ります。
次に例を示します。
(dbx) print arr(2:6) arr(2:6) = (2) 2 (3) 3 (4) 4 (5) 5 (6) 6 (dbx) print arr(2:6:2) arr(2:6:2) = (2) 2 (4) 4 (6) 6 |
行と列を指定するには、次のように入力します。
demo% f95 -g -silent ShoSli.f demo% dbx a.out Reading symbolic information for a.out (dbx) list 1,12 1 INTEGER*4 a(3,4), col, row 2 DO row = 1,3 3 DO col = 1,4 4 a(row,col) = (row*10) + col 5 END DO 6 END DO 7 DO row = 1, 3 8 WRITE(*,’(4I3)’) (a(row,col),col=1,4) 9 END DO 10 END (dbx) stop at 7 (1) stop at "ShoSli.f":7 (dbx) run Running: a.out stopped in MAIN at line 7 in file "ShoSli.f" 7 DO row = 1, 3 |
行 3 を印刷するには、次のように入力します。
(dbx) print a(3:3,1:4) ’ShoSli’MAIN’a(3:3, 1:4) = (3,1) 31 (3,2) 32 (3,3) 33 (3,4) 34 (dbx) |
列 4 を印刷するには、次のように入力します。
(dbx) print a(1:3,4:4) ’ShoSli’MAIN’a(1:3, 1:4) = (1,4) 14 (2,4) 24 (3,4) 34 (dbx) |