Bonjour,
J'ai des exercices à réaliser afin de mieux comprendre l'utilisation des pointeurs et je n'arrive pas à resoudre celui là.
Voici son intitulé :
Ecrire un sous-programme triant un tableau t avec la méthode du tri à bulle. Vous accéderez à l’élément d’indice i de t avec l’expression *(t + i)
Voici ce que j'ai fait :
Le compilateur me signal un probléme au niveau des paramétres de la fonction echange. Je ne vois pas qu'elle synthaxe utilisée.
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 #include<stdio.h> #define N 5 // tri a bulle void echange(int* a, int*b) { int z; z=*b; *a=*b; *b=z; } void triabulle(int* k, int n) { int i; for(i=1;i<n;i++) { if (*(k+i)>*(k+i+1)) echange(*(k+i),*(k+i+1)); } } main () { int j; int t[N]={3,5,47,6,12}; triabulle(t, N); for(j=0;j<N;j++) printf("%d\n",t[j]); }
Merci de votre aide
Partager