bonjour,

y a t il une manière plus 'élégante' et/ou plus optimisé pour réaliser ce p'tit programme ; histoire de prendre de bonne habitude dès le début...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
      1 #include <stdio.h>
      2 #define SIZEMAXTAB 10
      3
      4 void affiche(int t[])
      5 {
      6     int i = 0;
      7     for (; i < SIZEMAXTAB; i++) {
      8       printf("%d\t", t[i]);
      9     }
     10     printf("\n");
     11 }
     12
     13 void swap(int *n1, int *n2)
     14 {
     15     int aux = *n1;
     16     *n1 = *n2;
     17     *n2 = aux;
     18 }
     19
     20 void trie(int t[])
     21 {
     22     int i = 0;
     23     int *pnum1;
     24     int *pnum2;
     25     for (; i < SIZEMAXTAB - 1; i++) {
     26       pnum1 = &t[i];
     27       pnum2 = &t[i + 1];
     28       if (*pnum1 > *pnum2) {
     29         swap(pnum1, pnum2);
     30         trie(t);
     31       }
     32     }
     33 }
     34
     35 int main(void)
     36 {
     37     int tab[SIZEMAXTAB] = { 1, 5, 3, 0, 12, -8, 200, 35, 80, 63 };
     38     int *ptab;
     39     ptab = tab;
     40     affiche(tab);
     41     trie(ptab);
     42     affiche(ptab);
     43     return 0;
     44 }
merci d'avance...