Tri chaine de caractère par insertion séquentielle

Fermé
milexarc Messages postés 92 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 2 décembre 2016 - 15 mars 2015 à 20:26
Bonjour,

Je voudrais faire un programme permettant de trier des mots par ordre alphabétique. Je vous met le programme que j'ai écris :

#include <stdio.h>

#define MAX 6
#define X 3
typedef char TEXTE[MAX][X];
TEXTE t;

void lecture(TEXTE t)
/* remplissage du tableau t */
{ int i;
for (i=0; i < MAX; i=i+1) {
printf("donnez un mot de %d lettre : ", X);
scanf("%d",&t[i]);
}
}

int position(int i, TEXTE t)
/* determine le plus petit indice p / 0 <= p <= i */
/* qui verifie t[p] >= t[i] */
{ int p;
p = 0;
while ( t[p] < t[i] ) p = p+1;
return p;
}

void translation(int p, int i, TEXTE t)
/* translation de t[p..i-1] vers t[p+1..i] */
{ int j;
for (j=i; p < j; j=j-1) t[j] = t[j-1];
}

void tri(TEXTE t)
/* tri du tableau t par insertion sequentielle */
{ int i,p,x;

for (i=1; i < MAX; i=i+1) {
p = position(i,t);
x = t[i];
translation(p,i,t);
t[p] = x;
}
}

void affichage(TEXTE t)
/* affichage du tableau t */
{ int i;
printf("\nSuite triee :\n");
for (i=0; i < MAX; i=i+1) printf("t[%d]=%s ",i,t[i]);
printf("\n\n");
}

int main()
{
lecture(t);
tri(t);
affichage(t);
return 0;
}


j'ai mis en gras les erreurs que m'indique le compilateur.
Auriez-vous une solution ?