Oyé oyé!
Me voici confronté à un problème que je n'arrive pas à résoudre.
Je dois tout simplement trier un tableau rempli de chaines de caractères, que je remplis moi-même.
Après je dois la trier par ordre alphabétique, mais il plante toujours lors de ce tri.
Voici mon code :
#include<stdio.h> #define NBRMOTS 3 #define LGMOT 20 void tri_chaine_caract(char tableau[],int tabLength, int wordLength); main() { char tab[NBRMOTS][LGMOT]; int i; char choix; printf("encodez une série de 3 mots! \n"); for(i=0;i<NBRMOTS;i++) { printf("Mot %d : ", i); scanf("%s", tab[i]); } do { printf("appuyez sur 'r' pour effectuer le tri \n"); printf("appuyez sur 'q' pour quitter \n\n"); choix=getch(); if(choix=='q') abort(); else if(choix=='r') { tri_chaine_caract(tab,NBRMOTS,LGMOT); } } while(choix!='q' && choix!='r'); } void tri_chaine_caract(char tableau[],int tabLength, int wordLength) { int i,k; char temp[wordLength]; for(i=0;i<tabLength;i++) { k=i; while((k>=0) || (strcmp(tableau[k],tableau[k-1]<0))) { temp=tableau[k]; tableau[k]=tableau[k-1]; tableau[k-1]=temp; k=k-1; } } }
Alors, si je laisse le code comme ca, il me dit "16a.c:48: error: incompatible types in assignment". ceci est pour la ligne "temp=tableau[k];"
Maintenant si je la mets en commentaire, il compile bien, mais au moment de faire le tri, il plante...
Et je ne comprends pas pq :(
qqn saurait m'aider en cette période d'examens? ^^
Merci à vous