tôi sử dụng Fortran và tôi đã tự hỏi nếu nó có thể làm cho một cái gì đó như thếVòng trong Fortran từ một danh sách
do i = array
write (*,*) i
end do
nơi mảng là một danh sách các số nguyên không nhất thiết phải đặt hàng.
tôi sử dụng Fortran và tôi đã tự hỏi nếu nó có thể làm cho một cái gì đó như thếVòng trong Fortran từ một danh sách
do i = array
write (*,*) i
end do
nơi mảng là một danh sách các số nguyên không nhất thiết phải đặt hàng.
tôi sẽ giới thiệu một chỉ số thứ hai để lặp qua các phần tử của một mảng:
program test
implicit none
integer, dimension(6) :: A
integer, dimension(10) :: B
integer :: i, j
A = (/ 1, 3, 4, 5, 8, 9 /)
B = (/ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 /)
do j = 1, size(A)
i = A(j)
write(*,*) i, B(i)
end do
end program test
Bạn có nghĩa là bạn muốn viết một số thành phần của một mảng có tên là other_array
nhưng không phải tất cả trong số chúng và lần lượt là số i
, giá trị tùy ý? Nói cách khác bạn muốn in không
do i = 1, size(other_array,1)
write(*,*) other_array(i)
end do
nhưng cái gì đó như
array = [1,3,4,2,3,7,8,8,12]
write(*,*) another_array(array)
mà sẽ viết các yếu tố của another_array
quy định tại array
? Điều này được gọi là mảng chỉ số. Tôi đã không thử nghiệm này và tôi đang đi ra ngoài bây giờ như vậy sẽ không.