Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Кирилица -> транслит

Автор: 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=52378&#entry52378 и http://forum.pascal.net.ru/index.php?showtopic=6541&st=0&p=48425&#entry48425 ), что там разорванное множество получается в случае кирилического алфавита (в ASCII есть разрыв).

А вообще я вот сейчас подумал о том, что это интересная фраза,
"идентификатор в выражении может быть массивом или функцией".. философия ведь целая... blink.gif
Это говорит о том, что вообще говоря, что модель решения можно реализовать по разному на практике.

Автор: volvo 24.01.2006 14:40

Цитата(Altair @ 24.01.2006 0:23)
ну вообще хорошо бы в таком случае сделать массив от #0 до #255, потому что klem4 как то показывал, что там разорванное множество получается в случае кирилического алфавита (в ASCII есть разрыв).

Ну, допустим, это был не klem4 rolleyes.gif
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

Автор: Altair 24.01.2006 15:47

Исправил smile.gif