demo_medianloc.f90 Source File


Contents

Source Code


Source Code

     program demo_medianloc
     ! return index of median value
     use M_orderpack, only : medianloc
     implicit none
     real,allocatable :: INVALS(:)
     character(len=:),allocatable :: cdont(:)
     character(len=*),parameter :: fmt='(i5,t11,g0)'
     integer :: ii
        write(*,*) 'location  median'

        INVALS=[80.0,70.0,20.0,10.0,1000.0]
        call medianloc(INVALS,ii)
        write(*,fmt) ii,INVALS(ii)
        !
        INVALS=[11, 22, 33, 44, 55, 66, 77, 88]
        call medianloc(INVALS,ii)
        write(*,fmt) ii,INVALS(ii)
        !
        INVALS=[11.0d0,77.0d0,22.0d0,66.0d0,33.0d0,88.0d0]
        call medianloc(INVALS,ii)
        write(*,fmt) ii,INVALS(ii)
        !
        cdont=[character(len=20) :: 'apple','bee','cherry','duck',&
                'elephant','finger','goose','h','insect','j']
        call medianloc(cdont,ii)
        write(*,fmt) ii,cdont(ii)
        !
     end program demo_medianloc