Const
Cyr=['А'..'я','Ё','ё'];
Lat=['A'..'z'];
Dig=['0'..'9'];
var
s,sC,sL,sD,sO:string;
i:integer;
begin
Writeln('Введите произвольную строку символов');
Readln(s);
sC:=''; sL:=''; sD:=''; sO:='';
for i:=1 to Length(s) do
if s[i] in Cyr then sC:=sC+s[i]
else
if s[i] in Lat then sL:=sL+s[i]
else
if s[i] in Dig then sD:=sD+s[i]
else sO:=sO+s[i];
Writeln('Кириллица: ',sC);
Writeln('Латиница : ',sL);
Writeln('Цифры : ',sD);
Writeln('Прочее : ',sO)
end.
Тестовое решение:
Введите произвольную строку символов
Запишем следующее выражение: y=5*Sin(x)/(3.5*x+Sqr(x); (язык Pascal)
Кириллица: Запишемследующеевыражениеязык
Латиница : ySinxxSqrxPascal
Цифры : 535
Прочее : : =*()/(.*+(); ( )
Примечание: поскольку в задании не сказано, что требуется записать все использованные символы только по одному разу, они повторяются.