如何利用一个数组做为索引,从另一个数组中取部分元素?
[Fortran] 纯文本查看 复制代码 program main
implicit none
integer :: A(5,3), B(3), C(3)
A( 1, : ) = [ 5, 4, 8 ]
A( 2, : ) = [ 4, 1, 9 ]
A( 3, : ) = [ 3, 4, 8 ]
A( 4, : ) = [ 1, 2, 8 ]
A( 5, : ) = [ 3, 1, 0 ]
B = [ 1, 3, 4 ]
C = A(B)
Write(6,*)A
Write(6,*)B
Write(6,*)C
end
编译后,提示下面错误 。
其实我就想从A中提取3个元素,这3个元素的索引是 1,3,4。将这三个元素存储在C中。不知为何总是提示错误。
我自己用一维数组A也做了测试,如下代码。编译执行都没有问题。请教高手,上面的代码为何编译提示错误呢?
[Fortran] 纯文本查看 复制代码 program main
implicit none
integer :: A(15), B(3), C(3)
A = [5, 4, 8, 4, 1, 9, 3, 4, 8, 1, 2, 8, 3, 1, 0]
B = [ 1, 3, 4 ]
C = A(B)
Write(6,*)A
Write(6,*)B
Write(6,*)C
end
|