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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| #include <stdio.h>
#define bleu 0
#define blanc 1
#define rouge 2
#define n 20
typedef struct stableau {int t[n]} tableau;
void echanger (tableau p, int a, int b) /* je permute les cases a et b du tableau p */
{
int c;
c = p.t[a];
p.t[a] = p.t[b];
p.t[b] = c;
}
int main ()
{
int i;tableau p;int nb_b;int nb_r;int j;int k;
i = 0;nb_b = 0;nb_r = 0;
for (j=0;j<=n;j++) /*ici je rempli mon tableau*/
{
p.t[j]=random() %3;
}
while(i<=n) /* ds le while je trie */
{
if (p.t[i] == bleu)
{
echanger (p,i,nb_b);
i++;
nb_b++;
}
if (p.t[i] == blanc)
{
i++;
}
if (p.t[i] == rouge)
{
echanger (p,i,(n-1)+nb_r);
i++;
nb_r;;
}
}
for (k = 0;k<=n;k++) /* j'affiche mle tableau */
{
printf(" %d \n",p.t[k]);
}
return 0;
} |
Partager