!----- Ex6_1: Sorting Array Elements ----- PROGRAM Ex6_1_Sorting INTEGER :: m, mark(100), n = 0, max, maxi, i, j DO WHILE( n <= 99 ) PRINT*, "Input integer, or negative one to stop:" READ*, m ; IF( m <= 0 ) EXIT n = n + 1; mark(n) = m END DO !----- Sorting DO i = 1, n-1 max = mark(i) maxi = i DO j = i+1, n IF( mark(j) > max ) THEN max = mark(j) maxi = j END IF END DO IF( maxi /= i ) THEN mark(maxi) = mark(i) mark(i) = max END IF END DO !----- Output DO i = 1, n PRINT "( ' Rank', I3, ' =', I10 )", i, mark(i) END DO END PROGRAM Ex6_1_Sorting