tri à bulle - pointeur - tableau
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 :
Code:
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]);
} |
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.
Merci de votre aide