Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
734 connectés 

  FORUM HardWare.fr
  Programmation
  C

  trier un tableau à 2 dimensions de caracteres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

trier un tableau à 2 dimensions de caracteres

n°1116579
louisaha
Posté le 11-06-2005 à 12:44:05  profilanswer
 

Bonjour,
 
je possede un tableau comportant des noms de villes.
 
char Nom_ville[150][50];
 
je voudrais trier ce tableau de villes par ordre alphabétique.
 
Quelqu'un aurait il une idée pour m'aider car je galere à mort la sans y arriver.
 
Merci d'avance
 
pea
 
<exemple>
j'ai : paris,chartres,marseille,pau
et je voudrais : chartres,marseille,paris,pau

mood
Publicité
Posté le 11-06-2005 à 12:44:05  profilanswer
 

n°1116603
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-06-2005 à 13:39:22  profilanswer
 

louisaha a écrit :

je possede un tableau comportant des noms de villes.

char Nom_ville[150][50];


je voudrais trier ce tableau de villes par ordre alphabétique.


qsort().  
 
C'est pas trivial, mais c'est puissant. Bien lire la doc (c'est standard). Entraine toi sur des tableaux plus simples (int, par exemple). Poste ton code si tu es bloqué.
 
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1116608
louisaha
Posté le 11-06-2005 à 13:44:43  profilanswer
 

oué alors qsort j'ai bien capté le principe, je l'ai utilisé correctement apparament puisque à la compilation pas d'erreur :)
 
mais ca trie pas mdrrr donc pas terrible.
 
voila ce que j'ai fait :
int compare (const void * a, const void * b)
{
return ( *(char**)a - *(char**)b );
}
 
qsort (Nom_ville, Nb_ville_graph, sizeof(char*), compare);
 
avec
char ** Nom_ville;
int Nb_vile_graph; //qui est mon nombre de ville au total
 
mais ca trie pas ....

n°1116612
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-06-2005 à 13:51:38  profilanswer
 

louisaha a écrit :

oué alors qsort j'ai bien capté le principe, je l'ai utilisé correctement apparament puisque à la compilation pas d'erreur :)

return ( *(char**)a - *(char**)b );




Non. Il faut utiliser strcmp() qui est fait pour ça.
 
D'autre part, il faut faire attention à la définition du tableau (char à 2 dimensions, pointeurs sur char... Il faut être précis, car l'appel de qsort() en dépend...)


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1116619
louisaha
Posté le 11-06-2005 à 14:00:39  profilanswer
 

hummmm que veux tu dire par la definition du tableau ...
 
je vois pas non plus ce qui va changer avec strcmp car je pensais que c'etait pas mal ce que j'avais fait :p lol

n°1116622
Taz
bisounours-codeur
Posté le 11-06-2005 à 14:05:08  profilanswer
 

et faut pas faire sauter les const comme ça !

n°1116635
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-06-2005 à 14:23:20  profilanswer
 

louisaha a écrit :

hummmm que veux tu dire par la definition du tableau ...


char a[12][34];


ou

char *a[12];


etc.

Citation :

je vois pas non plus ce qui va changer avec strcmp<...>


Tu veux bien faire une comparaison de chaines ? Alors strcmp(), c'est tout. Relis ton livre de C...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1116676
louisaha
Posté le 11-06-2005 à 15:30:31  profilanswer
 

parfait j'ai reussi merci beaucoup


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  trier un tableau à 2 dimensions de caracteres

 

Sujets relatifs
Tableau en static[vb.net] Interprétation d'une chaîne de caractères
[PHP] Tester si une valeur existe dans un tableau [RESOLU][C]Nb de caracteres dans le buffer liaison série??
Les caractères accentués s'enregistrent mal dans ma base MySQL[VB6] tableau aléatoire [ résolu ]
caractères bizarres dans mon EditBox[Flash/XML] Problème de caractères html à l'importation --> corréen ?
[PHP] Aide pour tri de tableau multi-dimensionnelMySQL, ColdFusion et caractères spéciaux
Plus de sujets relatifs à : trier un tableau à 2 dimensions de caracteres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR