Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

[FORTRAN] do-loop problem

  1. Mar 1, 2013 #1
    How would I modify the program so it doesn't generate an output for integers that are multiples of 5? (e.g. if range was 1-20, then no lines would be printed for 5, 10, 15, 20.)

    program squares
    implicit none

    integer*2 start, finish, i

    ! ----------------------------------------------Prompt and Input
    print*, "Enter the range (two integers) ..."
    read*, start, finish

    ! ----------------------------------------------Validation & Processing
    if (start .GT. finish) then
    print*, "Invalid: the start must be less than the end value!"
    else if (start .LT. 0) then
    print*, "Invalid: the range must not have negative values!"
    do i = start, finish
    write(*,*) i, sqrt(i*1.)
    end do
    end if
    ! ----------------------------------------------
  2. jcsd
  3. Mar 1, 2013 #2
    Re: do-loop problem

    You could use an if statement that checks whether i % 5 == 0. The % operator is modulus and returns the remainder after division.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook