	program test_dheap_v3
c
c----------------------------------------------
c       test pour l'algorithme de tri heapsort
c       on trie les colonnes d'une matrice
c-----------------------------------------------

        implicit none
c
      integer n,nmax,i,j,k,ideb,ifin
      parameter(nmax=100)
      double precision  tab(nmax,nmax)
      integer itab(nmax*nmax)
c
c---> allocation  des valeurs du tableau
c
      write(*,*)'Introduire la valeur de n='
      read(*,*) n
c
       write(*,*)'==== Tableau original========'
      do i=1,n
        do j=1,n
             k=i+(j-1)*n
          itab(k)=k
           tab(i,j)=rand()
        enddo
       write(*,*) 'ligne i=',i,' ',(tab(i,j),j=1,n)
      enddo
c
c---> tri par heapsort de chaque colonne
c
      do j=1,n
        ideb=1+(j-1)*n
        ifin=ideb+n
        call dheap(tab(1,j),itab(ideb),n)
      enddo
c
c---> affichage du tableau trie
c
       write(*,*)'==== Tableau trie========'
       do i=1,n
        write(*,*) 'ligne i=',i,' ',(tab(i,j),j=1,n)
       enddo
c
      stop 
      end

           