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...
merci d'avance...
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 }
Partager