- Fortran Tutorial
- Fortran - Home
- Fortran - Overview
- Fortran - Environment Setup
- Fortran - Basic Syntax
- Fortran - Data Types
- Fortran - Variables
- Fortran - Constants
- Fortran - Operators
- Fortran - Decisions
- Fortran - Loops
- Fortran - Numbers
- Fortran - Characters
- Fortran - Strings
- Fortran - Arrays
- Fortran - Dynamic Arrays
- Fortran - Derived Data Types
- Fortran - Pointers
- Fortran - Basic Input Output
- Fortran - File Input Output
- Fortran - Procedures
- Fortran - Modules
- Fortran - Intrinsic Functions
- Fortran - Numeric Precision
- Fortran - Program Libraries
- Fortran - Programming Style
- Fortran - Debugging Program
- Fortran Resources
- Fortran - Quick Guide
- Fortran - Useful Resources
- Fortran - Discussion
Fortran - Nested Loops
You can use one or more loop construct inside any another loop construct. You can also put labels on loops.
Syntax
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
Example
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
When the above code is compiled and executed, it produces the following result −
(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
fortran_loops.htm
Advertisements