Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2009, 16:55   #1
Кодер
Пользователь
 
Аватар для Кодер
 
Регистрация: 31.12.2008
Сообщений: 20
По умолчанию Транслитератор

Нужно написать Транслитератор в паскале, можете посоветовать сам принцип, каким образом это сделать как можно более оптимально? Спасибо
Кодер вне форума Ответить с цитированием
Старый 10.01.2009, 17:15   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Программу для перевода русского в транслит?
Посимвольный проход по строке с применением case (или втрого цикла для прохода по массиву чаров). Результат пишется во вторую строку.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 10.01.2009, 17:16   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вот, выкладываю свою разработку (можно сказать, от сердца отрываю ;-))
Код:
const
  table1='абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
  Table2 : array[1..66] of string =(
   'a','b','v','g','d','e','e','zh','z','i','i','k','l',
   'm','n','o','p','r','s','t','u','f','kh','ts','ch','sh',
   'shc','"','y','''','e','yu','ya ',
   'A','B','V','G','D','E','E','ZH','Z','I','I','K','L',
   'M','N','O','P','R','S','T','U','F','KH','TS','CH','SH',
   'SHC','"','Y','''','E','YU','YA '
);
...
   flWasChages := false;
   NewS := '';
   for i:=1 to Length(s) do
    if Pos(s[i],table1) > 0 then begin
       NewS := NewS + Table2[Pos(s[i],table1)];
       flWasChages := true
    end
    else
       NewS := NewS + s[i];
ps. решений может быть бесконечно много...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.01.2009, 18:28   #4
Кодер
Пользователь
 
Аватар для Кодер
 
Регистрация: 31.12.2008
Сообщений: 20
По умолчанию

Спасибо! Очень помогли!
Кодер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц