#include <stdio.h>
main()
{
/* Prototypes des fonctions appelées */
void LIRE_TAB (int *TAB, int *N, int NMAX);
void TRI_BULLE(int *T, int N);
void ECRIRE_TAB (int *TAB, int N);
/* Variables locales */
int T[100]; /* Tableau d'entiers */
int DIM; /* Dimension du tableau */
/* Traitements */
LIRE_TAB (T, &DIM, 100);
printf("Tableau donné : \n");
ECRIRE_TAB (T, DIM);
TRI_BULLE(T, DIM);
printf("Tableau trié : \n");
ECRIRE_TAB (T, DIM);
return 0;
}
void TRI_BULLE(int *T, int N)
{
/* Prototypes des fonctions appelées */
int RANGER(int *X, int *Y);
/* Variables locales */
int I,J; /* indices courants */
int FIN; /* position où la dernière permutation a eu lieu */
/* permet de ne pas trier un sous-ensemble déjà trié. */
/* Tri de T par propagation de l'élément maximal */
for (I=N-1 ; I>0 ; I=FIN)
{
FIN=0;
for (J=0; J<I; J++)
if (RANGER(T+J, T+J+1)) FIN = J;
}
}
int RANGER(int *X, int *Y)
{
. . .
}
void LIRE_TAB (int *TAB, int *N, int NMAX)
{
. . .
}
void ECRIRE_TAB (int *TAB, int N)
{
. . .
}