С клавиатуры задается строка, требуется преобразовать эту строку так, чтобы в ней остались только буквы.

program zadacha_4;
const
letters = ['a'..'z', 'A'..'Z', 'а'..'я', 'А'.. 'Я', 'ё', 'Ё'];
var
s, s1 : string;
i : integer;
begin
writeln('Введите строку.');
readln(s);
s1 := '';
for i := 1 to length(s) do
if s[i] in letters then
s1 := s1 + s[i];
writeln('Введённая строка = ', s);
writeln;
writeln('Изменённая строка = ', s1);

readln;
end.

Решение не сложное берём все символы по очереди, если они принадлежат множеству letters то копируем их в переменную s1, вот и всё. (Решение. )
Ниже второй вариант, в котором не вводится переменная s1, там если символ не принадлежит множеству letters, то он просто удаляется. (Решение. )

program zadacha_4_a;
const
letters = ['a'..'z', 'A'..'Z', 'а'..'я', 'А'.. 'Я', 'ё', 'Ё'];
var
s : string;
i : integer;
begin
writeln('Введите строку.');
readln(s);
i := 1;
writeln('Введённая строка = ', s);
while (i <= length(s)) do
if not(s[i] in letters) then delete(s, i, 1)
else inc(i);


writeln;
writeln('Изменённая строка = ', s);

readln;
end.


Hosted by uCoz