Mail.ruПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискВсе проекты

Помогите доработать код на паскале

Павел Бержной Знаток (479), на голосовании 2 года назад
var
a:string;
i:integer;
begin
readln(a);
for i:=1 to length(a) do
case a[i] of
'а':a[i]:='би';
'б':a[i]:='ра';
'в':a[i]:='гу';
'г':a[i]:='со';
'д':a[i]:='ну';
'е':a[i]:='вя';
'ё':a[i]:='ди';
'ж':a[i]:='су';
'з':a[i]:='мо';
'и':a[i]:='ко';
'й':a[i]:='жа';
'к':a[i]:='лу';
'л':a[i]:='те';
'м':a[i]:='ма';
'н':a[i]:='фе';
'о':a[i]:='ге';
'п':a[i]:='ва';
'р':a[i]:='лю';
'с':a[i]:='ша';
'т':a[i]:='са';
'у':a[i]:='ня';
'ф':a[i]:='ци';
'х':a[i]:='цо';
'ц':a[i]:='ма';
'ч':a[i]:='жи';
'ш':a[i]:='цу';
'щ':a[i]:='не';
'ъ':a[i]:='бу';
'ы':a[i]:='ка';
'ь':a[i]:='ли';
'э':a[i]:='су';
'ю':a[i]:='га';
'я':a[i]:='па';
end;
writeln(a);
readln;
end.

Вот такой код, нужно чтобы одну букву переводило в две соответствующие ей, но выбивает ошибку "Нельзя преобразовать тип string к char" как решить проблему без применения массива, с минимумом возможного кода. Заранее спасибо.
Голосование за лучший ответ
Krab Bark Искусственный Интеллект (168556) 2 года назад
Комментарий удален
Krab Bark Искусственный Интеллект (168556) В переписанном виде она может выглядеть так: const q='абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; t='бирагусонувядисумокожалутемафегевалюшасаняцицомажицунебукалисугапа'; var s,p:string; i,k:integer; begin readln(s); p:=''; for i:=1 to length(s) do begin k:=2*pos(s[i],q); p:=p+t[k-1]+t[k] end; writeln(p); readln end.
Похожие вопросы
Также спрашивают