Friday, November 4, 2005, 6:51:21 PM, you wrote:

> Vazena konference,

> mam odstranit diakriticka znamenka ze vsech pismen v retezci, ktera jsou
> v latince.
> Nejen ceska diakritika, ale vsechny mozne akcenty nad pismeny anglicke
> abecedy.
> Verze Javy je 1.5.

> Nevite lepsi zpusob nez prevodni tabulku?

strucne: nie.

pozrite sa kritickym okom na umiestnenie standardnych a akcentovanych
znakov v znakovej sade.

ak v tom nejakym zazrakom uvidite nejaky naznak algoritmu, rozvinte tu
myslienku a alogitmus implementujte :-)

nepochybujem, ze dostanete nobelovu cenu za matematiku. :-))

DISCLAIMER: nie som matematik, takze za pripadne necakane osvietenie
v tejto veci vopred dakujem :-)

anyway, otazkou je, co je to "lepsi sposob"

1) ak to ma byt rychlost -> asi nic nebude rychlejsie nez prevodna
   tabulka

2) ak to ma byt velkost kodu -> dovolim si tvrdit, ze v tomto pripade
   akykolvek algoritmus bude vacsi nez ekvivalentna prevodna tabulka.

3) ak to ma byt citatelnost -> zlozitost potencialneho algoritmu
   urcite prekroci unosnu mieru. kym prevodnu tabulku pochopi kazdy
   magor, sofistikovany algoritmus len vyvoleni, za predpokladu, ze k
   nemu bude k dispozicii sprievodna rigorozna praca :-).

zaverom asi tolko:

- su ulohy, ktore sa algoritmizovat daju; ine sa nedaju alebo to nema
  zmysel

- su ulohy, ktore sa algoritmizovat musia: napriklad robit
  String.toLowercase() pomocou prevodnej tabulky nad celou Unicode
  znakovou sadou by bol asi drsny overhead...

- je mozne, ze urcite sub-ulohy v tomto zadani su algoritmizovatelne.
  vacsinou je vsak zakladom nejaka forma prevodnej tabulky.


prevodnu tabulku relevantnu pre toto konkretne zadanie predpokladam
mate (je to solidne a priamociare riesenie)

dalej odporucam do pozornosti:
http://www.unicode.org/Public/UNIDATA/

pripadne pre inspiraciu
http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt a suvisiacu
triedu v JDK: java.lang.ConditionalSpecialCasing (package private, pozri 
zdrojaky)


tak, diky za pozornost, dobre mi padlo pre zmenu pisat znovu nieco po
slovensky :-))


-- 
Patrik Beno
J2EE Software Architect
____________________________________
Cleverlance - The Clever Enterprise Solutions
www.cleverlance.com

European Business Center
Dukelskych hrdinu 34
170 00 Praha 7
Czech Republic

Tel.:   +420 266 177 166
Mobile: +420 777 929 450
Fax:    +420 266 177 155


Odpovedet emailem