salut tout le monde
j'ai une matrice de n mots chaque ligne contient un mot je veux trier cette matrice par apport le premier caractere de lignesi les premiers caractéres sont les meme je teste les caracteres suivants...etc, j'ai utiliser le tri par selection ..mais pendant l'exécution il m'affiche une erreure!
voila le code
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
# include <stdio.h>
# include <string.h>

void main()
{char a[10][20],min,ch[10],mot[10];
int j,i,posmin,n, c,col;
printf("donnez le nombre de mots\n");
scanf("%d",&n);
for (i=0;i<n;i++)
gets(mot);
/* utiliser la methode de tri par selection pour trier les premier caracteres de lignes*/
col=0;
for(i=0;i<n-1;i++){
	  min =a[i][col];
		posmin=i;
	for (j=i+1;j<n;j++)
		  {if(a[j][col]<min){min=a[j][col];
				    posmin=j}
	       /* le cas ou les deux chaine ont le mm premier caracter*/
		for(c=1;a[j][col+1]==a[posmin][col+c];c++);	
                 if(a[j][col]==a[posmin][col])
	{for(c=1;a[j][col+c]==a[posmin[col+c];c++);[col+c];c+=);
              min=a[j][col];posmin=j;}
		  /* permutation entre deux chaines de caracteres */
		  strcpy(ch,a[i]);
		  strcpy(a[i],a[posmin]);
		  strcpy(a[posmin],ch);
		  }}}}