1. Программа в одной из современных версий Паскаля:
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016 begin var s:=ReadlnString('Исходная строка:'); Writeln('Результат: ',s.MatchValues('[a-zA-ZА-Яа-яёЁ]').JoinIntoString('')); end.
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016 const legal=['A'..'Z','a'..'z','А'..'Я','а'..'я','Ё','ё']; var s:string; i:integer; begin Write('Исходная строка: '); Readln(s); for i:=Length(s) downto 1 do if not(s[i] in legal) then Delete(s,i,1); Writeln('Результат: ',s); end.
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016
begin
var s:=ReadlnString('Исходная строка:');
Writeln('Результат: ',s.MatchValues('[a-zA-ZА-Яа-яёЁ]').JoinIntoString(''));
end.
Тестовое решение:
Исходная строка: // PascalABC.NET 3.1, сборка 1211 от 31.03.2016
Результат: PascalABCNETсборкаот
2. Программа в "школьной версии"
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016
const
legal=['A'..'Z','a'..'z','А'..'Я','а'..'я','Ё','ё'];
var
s:string;
i:integer;
begin
Write('Исходная строка: '); Readln(s);
for i:=Length(s) downto 1 do
if not(s[i] in legal) then Delete(s,i,1);
Writeln('Результат: ',s);
end.