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

  FORUM HardWare.fr
  Programmation
  C

  Trier des caracteres avec accents ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trier des caracteres avec accents ?

n°1404913
bobdevroot
Posté le 11-07-2006 à 18:44:29  profilanswer
 


Salut,
 
Comment faire, en C ou C++,  pour trier des caracteres accentues avec des caracteres
non-accentues afin d'obtenir un tri equivalent a celui d'un dictionnaire. Je veux dire que les
e, è, é et ê soient tous ensemble.
 
 
Merci

mood
Publicité
Posté le 11-07-2006 à 18:44:29  profilanswer
 

n°1404927
Sve@r
Posté le 11-07-2006 à 19:12:48  profilanswer
 

bobdevroot a écrit :

Salut,
 
Comment faire, en C ou C++,  pour trier des caracteres accentues avec des caracteres
non-accentues afin d'obtenir un tri equivalent a celui d'un dictionnaire. Je veux dire que les
e, è, é et ê soient tous ensemble.
 
 
Merci


 
C'est à toi d'implémenter ta propre fonction "strcmp" qui comparera tes chaînes en considèrerant que "é" et "è" sont identiques (ainsi que "a" et "à", "o" et "ô", etc...)
En C++, tu peux créer ta propre classe avec son propre opérateur "=="...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1405668
bobdevroot
Posté le 12-07-2006 à 15:32:38  profilanswer
 


Merci Sve@r !
 
Est-ce que tu peux m'en dire un peu plus sur l'usage dans une classe
de "son propre operateur" ?

n°1405717
Elmoricq
Modérateur
Posté le 12-07-2006 à 16:16:12  profilanswer
 

Ca devient du C++, et non du C.
En C on ne peut pas redéfinir d'opérateur. Comme dit Sve@r, il faut écrire une fonction qui fait exactement ce que tu veux (je pense que le plus simple est, dans cette fonction, de convertir tous les caractères accentués en leur équivalent sans accent, puis de faire le tri normalement, et de réafficher/retourner les chaînes originales avant conversion)


Message édité par Elmoricq le 12-07-2006 à 16:16:25
n°1405905
Sve@r
Posté le 12-07-2006 à 21:20:50  profilanswer
 

bobdevroot a écrit :

Merci Sve@r !
 
Est-ce que tu peux m'en dire un peu plus sur l'usage dans une classe
de "son propre operateur" ?


Comme le dit Elmoricq, cela devient du C++. Mais pour résumer, il t'es possible de définir une classe quelconque gérant n'importe quoi, puis de redéfinir pour cette classe n'importe quel opérateur parmi les opérateurs classiques (+, -, ++, <<, [], etc...).
Ensuite, une fois que tu as redéfini l'opérateur que tu veux, par exemple "==" (et que t'as donc indiqué comment l'opérateur "==" travaillera quand on lui donnera 2 membres de cette classe à traiter), il t'es possible de faire "if (a == b)" avec "a" et "b" des variables du type de cette classe. C'est l'avantage du C++. Tu définis tout à l'avance puis t'as plus qu'à utiliser ce que tu veux comme t'en as envie...


Message édité par Sve@r le 12-07-2006 à 21:37:50

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

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

  Trier des caracteres avec accents ?

 

Sujets relatifs
[Résolu] Bug d'IE avec les caractères accentués.[Php] Classer un array par ordre alphabétique (accents inside)
Accents/Points d'interrogation en PHP/MySql[Access] Masque de saisie et reconnaissance chaine de caractères
Update de certains caracteres d' un champ[Shell résolu] trier les lignes obtenues par tail -f
[RegExp] Détecter toutes les adresses URL d'une chaîne de caractèressuppression d'une chaîne de caractères entre []
Différence entre 2 chaînes de caractèresmacro excel pour copier et trier des colonnes : aide débutant
Plus de sujets relatifs à : Trier des caracteres avec accents ?


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