function isletter (c : Char) : boolean;
begin
case c of
'A': isletter := true;
'B': isletter := true;
'C': isletter := true;
'E': isletter := true;
'H': isletter := true;
'K': isletter := true;
'M': isletter := true;
'O': isletter := true;
'P': isletter := true;
'T': isletter := true;
'X': isletter := true;
'Y': isletter := true;
else
isletter := false;
end;
end;
function isdigit(c:char):boolean;
begin
IsDigit:=c in ['0'..'9']
end;
var
n : integer;
i : integer;
s : string;
begin
readln(n);
for i := 1 to n do
begin
readln(s);
if (length(s) = 6) and (isletter(s[1])) and (isdigit(s[2])) and (isdigit(s[3])) and (isdigit(s[4])) and (isletter(s[5])) and (isletter(s[6])) then
writeln('Yes')
else
writeln('No');
end;
end.
Чего объяснять та?) Переписал все точь в точь за исключением того, что в free pascal вроде как нет встроенной функции проверки char на цифра ли и пришлось писать самому. + Мне не оч нрав реализация isletter. Стремная, но так было в спрайтах, так что я молчу.