#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) { . . . }