#include <stdio.h>  // Autorise l'emploi de scanf et de printf.

// Fonction de comparaison de deux entiers :

int croissant(int i, int j)
{
    return i > j ;
}
int decroissant(int i, int j)
{
  return i < j ;
}


void trie(int tableau[], int taille, int (fcomp)(int, int))
{
  int i,j,min;
  //tri par permuation avec fcomp comme fonction de comparaison
  for (i=0;i<taille;i++)
    {
      min=tableau[i];
      for (j=i+1;j<taille;j++)
	if (fcomp(tableau[i],tableau[j]))
	  {
	    min = tableau[j];
	    tableau[j]=tableau[i];
	    tableau[i]=min;
	  }
    }
    return ;
}

int main(void)
{
  int i,t[6]={1,5,2,3,6,4};

  trie(t, 6, croissant);   // Passage de fonction en paramètre.
  fprintf(stdout,"Ordre croissant\n ");
  for(i=0;i<6;i++)
    fprintf(stdout," %d ",t[i]);
  fprintf(stdout,"\n");
  
  
  trie(t, 6, decroissant);   // Passage de fonction en paramètre.
  fprintf(stdout,"Ordre decroissant\n ");
  for(i=0;i<6;i++)
    fprintf(stdout," %d ",t[i]);
  fprintf(stdout,"\n");
  return 0;
}
