Salut, voilà, j'ai fait un programme pour trier des mots d'après un ordre alphabétique.
Mais, il s'arrête juste après que je saisi ces mots.
on peut rentrer 11 mots maxi, d'une longueur maximale de 26caratères.
Un fois saisi, on valide, et le programme est sensé les re-afficher dans l'ordre alphabétique.
Voici le code il ne fait qu'un 20 taines de ligne, et il est très compréhensible.
C'est à parti du test N°3 que ça ne marche plus. Je rentre effectivement des chaines de caractère mais après avoir appuyé sur "Enter" le curseur passe tout simplement à la ligne suivante comme si le programme n'avait pas de suite
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LG_MOTS 26
#define NB_MOTS 11
int main(int argc, char *argv[])
{
printf ("1\n"); /* Test N°1*/ (réussi)
char mots [NB_MOTS] [LG_MOTS+1] ;
char tempo [LG_MOTS+1] ;
int i,j ;
printf ("entrer une phrase composé de %d mots\n ", NB_MOTS);
/* LECTURE DES MOTS 0 TRIER*/
printf ("2\n"); /* Test N°2*/ (réussi)
for (i=0 ; i<NB_MOTS ; i=i+1)
scanf ("%s", &mots[i][0]);
printf ("3\n"); /* Test N°3*/ (échec)
/*Séquence de tri */
for (i=0 ; i<NB_MOTS-1 ; i=i+1)
for (j=i+1; j<NB_MOTS ; j=j+1)
if (strcmp (&mots[i][0], &mots[j][0])>0)
{ strcpy(tempo,&mots[i][0]);
strcpy(&mots[i][0], &mots[j][0]);
strcpy(&mots[j][0],tempo);
}
/* Séquence d'affichage du résultat*/
printf ("Voici les mots tries :\n");
for (i=0 ; i<NB_MOTS ; i=i+1)
puts (&mots[i][0]);
getchar();
return 0;
}
