1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| /* Attention : Code compilé mais non testé */
#include <stdio.h>
#include <stdlib.h>
struct mel
{
int nb;
int rnd;
};
int compare(const void *pcva, const void *pcvb)
{
const struct mel * pcA = pcva;
const struct mel * pcB = pcvb;
return pcA->rnd - pcB->rnd;
}
void Tirage(void)
{
struct mel tab[10];
int i;
/* Initialisation et melange */
for(i=0 ; i<10 ; i++)
{
tab[i].nb = i;
tab[i].rnd = rand();
}
qsort(tab, 10, sizeof(tab[0]), compare);
/* Affichage */
for(i=0 ; i<10 ; i++)
{
printf("%d\n", tab[i].nb);
}
} |