\section{Enumération}


\subsection{$n$-uplet}


Un $n$-uplet $q$-aire  est représenté
par un tableau indexé par $\{1,2,\ldots,n\}$ 
dont les valeurs sont  $\{1,2,\ldots,n\}$.


\lstinputlisting[style=gcc, firstline=5, lastline=18]{enumeration/uplet.c}

\lstinputlisting[style=gcc, firstline=19, lastline=30]{enumeration/uplet.c}

\subsection{code de Gray}

\subsection{permutation}

Une permutation de $\{1,2,\ldots,n\}$ est représenté
par un tableau indexé par les entiers de $1$ à $n$. 

La fonction \gcc{void permut(int k)} permute les
$k$ éléments d'indices $1$, $2$, \ldots, $k$ de la
table globale $x$. Pour garantir la correction 
de l'algorithme on doit garantir l'invariance de 
$x$.



\lstinputlisting[style=gcc, firstline=14, lastline=29]{permut/permut.c}

\begin{lstlisting}[style=term]
:: ./permut.exe 4 | fold  -w20
:2341:3241:3421:4321
:2431:4231:4312:3412
:3142:1342:4132:1432
:2413:4213:4123:1423
:2143:1243:2314:3214
:3124:1324:2134:1234
\end{lstlisting}

\subsection{lien dansant}

