Fortran-nested-loop

提供:Dev Guides
移動先:案内検索

Fortran-ネストされたループ

別のループ構造内で1つ以上のループ構造を使用できます。 ループにラベルを付けることもできます。

構文

iloop: do i = 1, 3
   print*, "i: ", i

   jloop: do j = 1, 3
      print*, "j: ", j

      kloop: do k = 1, 3
         print*, "k: ", k

      end do kloop
   end do jloop
end do iloop

program nestedLoop
implicit none

   integer:: i, j, k

   iloop: do i = 1, 3
      jloop: do j = 1, 3
         kloop: do k = 1, 3

            print*, "(i, j, k): ", i, j, k

         end do kloop
      end do jloop
   end do iloop

end program nestedLoop

上記のコードをコンパイルして実行すると、次の結果が生成されます-

 (i, j, k):            1           1           1
 (i, j, k):            1           1           2
 (i, j, k):            1           1           3
 (i, j, k):            1           2           1
 (i, j, k):            1           2           2
 (i, j, k):            1           2           3
 (i, j, k):            1           3           1
 (i, j, k):            1           3           2
 (i, j, k):            1           3           3
 (i, j, k):            2           1           1
 (i, j, k):            2           1           2
 (i, j, k):            2           1           3
 (i, j, k):            2           2           1
 (i, j, k):            2           2           2
 (i, j, k):            2           2           3
 (i, j, k):            2           3           1
 (i, j, k):            2           3           2
 (i, j, k):            2           3           3
 (i, j, k):            3           1           1
 (i, j, k):            3           1           2
 (i, j, k):            3           1           3
 (i, j, k):            3           2           1
 (i, j, k):            3           2           2
 (i, j, k):            3           2           3
 (i, j, k):            3           3           1
 (i, j, k):            3           3           2
 (i, j, k):            3           3           3