Добрый вечер(кому добрый, кому нет).
У меня возникла проблема.Как перевести русские буквы в морзянку используя массивы.
Там будет 8 строк и 4 столбца.
const(в звуки преобразуешь сам, если нужно - мой вариант работает ТОЛЬКО с буквами - никаких цифр и даже пробелов, если надо цифры - придется их добавлять, и распечатывает полученую строку в коде Морзе. Проверка на строку-результат длиннее 255 символов я тоже не делал, добавь если надо...)
codes: array[1 .. 65] of string = (
{ Заглавные буквы А(#128) .. Я(#159) }
'/.-', '/-...', '/.--', '/--.',
'/-..', '/.', '/...-', '/--..',
'/..', '/.----', '/-.-', '/.-..',
'/--', '/-.', '/---', '/.--.',
'/.-.', '/...', '/-', '/..-',
'/..-.', '/....', '/-.-.', '/---.',
'/----', '/--.-', '/***', '/-.--',
'/-..-', '/..-..', '/..--', '/.-.-',
{ строчные буквы a(#160) .. п(#175) }
'/.-', '/-...', '/.--', '/--.',
'/-..', '/.', '/...-', '/--..',
'/..', '/.----', '/-.-', '/.-..',
'/--', '/-.', '/---', '/.--.',
{ строчные буквы р(#224) .. я(#239) }
'/.-.', '/...', '/-', '/..-',
'/..-.', '/....', '/-.-.', '/---.',
'/----', '/--.-', '/***', '/-.--',
'/-..-', '/.-..', '/..--', '/.-.-',
{ ошибочный символ }
'ERROR'
);
var
s, _result: string;
i, index: integer;
begin
write('s = '); readln(s);
for i := 1 to length(s) do begin
case s[i] of
#128 .. #159: index := (ord(s[i]) - 128) + 1;
#160 .. #175: index := (ord(s[i]) - 160) + 33;
#224 .. #239: index := (ord(s[i]) - 224) + 49;
else
index := 65;
end;
_result := _result + codes[index];
end;
writeln(_result);
end.