si b est strictement inferieur a 0
alors b = (-b) + MAX;
retourne compare(&a, &b);
fin
definition ELEMENTS 20
structure compare_f;
programme pricipal main()
variable l_index, loop, t : entier;
debut
time(&t);
srand(t);
affiche "Contenu du tableau";
pour l_index = 0 jusqu'a l_index strictement inferieur à ELEMENTS faire
le_tableau[l_index] = un nombre aleatoire compris entre -9 et MAX;
affiche le_tableau[l_index];
fin de pour
tant que compare_f[loop].fonction faire
qsort(le_tableau, ELEMENTS, sizeof(entier), compare_f[loop].fonction);
affiche compare_f[loop].message;
pour l_index = 0 jusqu'a l_index strictement inferieur à ELEMENTS faire
affiche le_tableau[l_index];
fin de pour
fin de tant que
fin
*/
/* devoir n°1 exercice 3 : pp.h */
void echangep(char *pt_a, char *pt_b);
/* devoir n°1 exercice 3 : pp.c */
#include <pp.h>
#include <stdio.h>
void echangep(char *pt_a, char *pt_b){
char tmp;
tmp = *pt_a;
*pt_a = *pt_b;
*pt_b = tmp;
}
void main(void){
int int_a = 7, int_b = 1256;
double double_a = 1256.2, double_b = 2512.4;
char char_a[] = "deux", char_b[] = "dix";
char *pt_a, *pt_b;
pt_a = (char *)&int_a;
pt_b = (char *)&double_a;
printf("\n\tAvant exhangep\ta = %8d\t b = %5.3f\n", *((int *)pt_a), *((double *)pt_b) );
echangep((char *)&pt_a, (char *)&pt_b);
printf("\tApres exhangep\ta = %5.3f\t b = %8d\n\n", *((double *)pt_a), *((int *)pt_b) );
pt_a = (char *)&int_b;
pt_b = (char *)&char_a;
printf("\tAvant exhangep\ta = %8d\t b = %8s\n", *((int *)pt_a), (char *)pt_b );
echangep((char *)&pt_a, (char *)&pt_b);
printf("\tApres exhangep\ta = %8s\t b = %8d\n\n", (char *)pt_a, *((int *)pt_b) );
pt_a = (char *)&char_b;
pt_b = (char *)&double_b;
printf("\tAvant exhangep\ta = %8s\t b = %5.3f\n", (char *)pt_a, *((double *)pt_b) );
echangep((char *)&pt_a, (char *)&pt_b);
printf("\tApres exhangep\ta = %5.3f\t b = %8s\n\n", *((double *)pt_a), (char *)pt_b );
}
/* exemple d'execution
[root@localhost /root]# gcc -o/bin/ex3 /usr/src/cours/dev1ex3/dev1ex3.c
[root@localhost /root]# ex3
Avant exhangep a = 7 b = 1256.200
Apres exhangep a = 1256.200 b = 7
Avant exhangep a = 1256 b = deux
Apres exhangep a = deux b = 1256
Avant exhangep a = dix b = 2512.400
Apres exhangep a = 2512.400 b = dix