Форум «Всё о Паскале» _ Задачи _ Кирилица -> транслит
Автор: Ostin 24.01.2006 4:44
хочу сделать прогу русский в транслит но как?
Автор: Altair 24.01.2006 5:23
Положим есть строка s на входе.
for i:=1 to length(s) do s:=translit(s[i]);
ну а translit можно реализовать в виде функции или массива. Если массива то так...
type arr=array['а'..'я'] of string; const translit:arr=('a', ... ,'ia');
(только заполни полностью массив translit )... ну вообще хорошо бы в таком случае сделать массив от #0 до #255, потому что volvo как то показывал( http://forum.pascal.net.ru/index.php?showtopic=7289&st=0&p=52378entry52378 и http://forum.pascal.net.ru/index.php?showtopic=6541&st=0&p=48425entry48425 ), что там разорванное множество получается в случае кирилического алфавита (в ASCII есть разрыв).
А вообще я вот сейчас подумал о том, что это интересная фраза, "идентификатор в выражении может быть массивом или функцией".. философия ведь целая... Это говорит о том, что вообще говоря, что модель решения можно реализовать по разному на практике.
Автор: volvo 24.01.2006 14:40
Цитата(Altair @ 24.01.2006 0:23)
ну вообще хорошо бы в таком случае сделать массив от #0 до #255, потому что klem4 как то показывал, что там разорванное множество получается в случае кирилического алфавита (в ASCII есть разрыв).
Ну, допустим, это был не klem4 http://forum.pascal.net.ru/index.php?s=&showtopic=7289&view=findpost&p=52378 + http://forum.pascal.net.ru/index.php?s=&showtopic=6541&view=findpost&p=48425