Program d : ipsort, sort

      program progd
      implicit none
	
      integer ip(18),i,nberr
      real arr(18)
	
# define array arr 
      do i=1,18
         arr(i)=0.5*i+6.0*sin(5.5*real(i))
      enddo

      print *,'The unsorted array:',arr
      print *,''
      call ipsort(ip,arr,18)
      nberr=0
      do i=2,18
         if (arr(ip(i)).lt.arr(ip(i-1))) then
            if (nberr.eq.0) then
               print *,'There were error(s):'
            endif   
            nberr=nberr+1
            print *,'error #',nberr,' :',arr(ip(i)),' .lt.',
     *       arr(ip(i-1))
         endif      
      enddo   
      call sort(arr,18)
      if (nberr.eq.0) then
         print *,'Sort successful.'
         print *,'The sorted array:'
         print *,arr
      endif   


	   
      stop
      end