.[ ČeskéHry.cz ].
Řazení stringů podle abecedy
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 14:09:16    Předmět: Řazení stringů podle abecedy Odpovědět s citátem

Čau, existuje nejaka funkce na seřazení stringů podle abecedy? Jako vim že je std::sort() a podobně, ale ty neuměj řadit s diakritikou. Řetězce začínající ne písmeno s diakritikou dávaj až nakonec abecedy. Stejně špatne funguje i operator porovnání u stringu nebo string::compare(). Pokud porovnám dva chary tak ty fungujou v poho, ale ty to porovnanvaj podle ASCII takze to je jasný, ale ty stringy to maj asi špatně implementovaný, či co. No jen mě zajímá jestli to mužu udělat nějak jednoduše, nebo si budu muset napsat nějakou vlastní fci? Dík Uiii
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 12. březen 2009, 14:30:19    Předmět: Odpovědět s citátem

co si napsat vlastni comparer? Wink - ale jinak pokud to delas podle ASCII tak to musi byt uplne stejne blbe - protoze proste hacky/carky jsou daleko za normalnima pismenama - takze neco delas blbe
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 14:38:53    Předmět: Odpovědět s citátem

rezna napsal:
ale jinak pokud to delas podle ASCII tak to musi byt uplne stejne blbe - protoze proste hacky/carky jsou daleko za normalnima pismenama - takze neco delas blbe


No jo vlastně, tak to teda nechápu. To porovnávání charů ale funguje, takže to musí řadit nejak chytře. Ale nevim teda proc nejede to porovnaní stringů, když to určitě musí porovnávat po písmenech a tedy podovánat chary. No asi si budu muset napsat tu vlastni fci.
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 12. březen 2009, 15:34:30    Předmět: Odpovědět s citátem

strcoll() . umi brat v potaz locales.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Peta



Založen: 28. 07. 2007
Příspěvky: 154
Bydliště: V prvnim patre hned vedle koupelny.

PříspěvekZaslal: 12. březen 2009, 15:57:36    Předmět: Odpovědět s citátem

Při řazení znaků/textu je vždy nutné vědět, jestli tě zajímají čistě kódy jednotlivých znaků, nebo (jak připoměl Yossarian) chceš řadit podle abecedy. Na první pohled je to podobné, ale ve skutečnosti se to dost liší - záleží na jazyce (přesněji řečeno na lokálu, každý jazyk totiž může mít lokálů více (viz mutace němčiny pro rakousko, německo atd.)). Každý lokál má určené pořadí znaků (v LC_COLLATE) díky čemuž můžeš pomocí strcoll() ( http://www.cplusplus.com/reference/clibrary/cstring/strcoll.html ) řadit řetězce dle abecedy a to i pro libovolný nainstalovaný lokál aspoň myslím.
_________________
Když je Ti smutno, otoč se tváří ke slunci a všechny stíny padnou za Tebe.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 16:05:13    Předmět: Odpovědět s citátem

To vypada zajimave ta fce strcoll. A bude tohle funguvat i na windows?
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 12. březen 2009, 16:06:40    Předmět: Odpovědět s citátem

uiii napsal:
To vypada zajimave ta fce strcoll. A bude tohle funguvat i na windows?


na windows ti sere bilej tesak Razz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 16:22:49    Předmět: Odpovědět s citátem

rezna napsal:
na windows ti sere bilej tesak Razz


Jeziš, klid já sem taky zastánce linuxu Wink, ale chtel bych vyvíjet multiplatformě.
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 16:34:36    Předmět: Odpovědět s citátem

uiii napsal:
rezna napsal:
na windows ti sere bilej tesak Razz


Jeziš, klid já sem taky zastánce linuxu Wink


I když teď mě napadá, aby sem tu nerozpoutal nakej flame. To cos napsal nemusí znamenat, že si zastánce linuxu, ale může to být cokoli jinyho. Takže se dyžtak omlouvám.
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Tringi



Založen: 28. 07. 2007
Příspěvky: 290

PříspěvekZaslal: 12. březen 2009, 16:59:27    Předmět: Odpovědět s citátem

Very Happy Co vím, tak pod MinGW (Dev-C++ atp) funguje pouze klasické "C" locale, takže strcoll pro češtinu fungovat nebude. MSVC by to "cs_CZ" umět mohlo, ale kdo ví ve které verzi.
Ale můžeš použít přímo funkci Windows API CompareString (#ifdef _WIN32 chceš-li).
_________________
WWW | GitHub | TW
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 17:04:28    Předmět: Odpovědět s citátem

Tringi napsal:

Ale můžeš použít přímo funkci Windows API CompareString (#ifdef _WIN32 chceš-li).


No tak jako dalo by se, ale nechce se mi do toho moc patlat jiny gui. Když už jsme u toho nemá náhodou gtk (lépe gtkmm) nějakou takovou fci?
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 12. březen 2009, 17:11:01    Předmět: Odpovědět s citátem

uiii napsal:
Tringi napsal:

Ale můžeš použít přímo funkci Windows API CompareString (#ifdef _WIN32 chceš-li).


No tak jako dalo by se, ale nechce se mi do toho moc patlat jiny gui. Když už jsme u toho nemá náhodou gtk (lépe gtkmm) nějakou takovou fci?


jak jiny GUI? - WinAPI neni o GUI - to je proste komplet API windows
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 17:21:58    Předmět: Odpovědět s citátem

rezna napsal:

jak jiny GUI? - WinAPI neni o GUI - to je proste komplet API windows


Ok, aspon mi to je uz jasny. Smile
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1827

PříspěvekZaslal: 12. březen 2009, 17:45:36    Předmět: Odpovědět s citátem

Urcite???
UI - User Interface
GUI - Graphical User Interface
API - Application Programming Interface
A teraz? Very Happy
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 12. březen 2009, 18:23:35    Předmět: Odpovědět s citátem

pcmaster napsal:
Urcite???
UI - User Interface
GUI - Graphical User Interface
API - Application Programming Interface
A teraz? Very Happy


Relativne jo Smile Este by se mohlo doplnit ABI - Application Binary Interface
_________________
Twitter
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna