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 :
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];"
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 #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; } } }
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 Sad
qqn saurait m'aider en cette période d'examens? ^^
Merci à vous
Partager