Для тех кто придет через поиск, готовый код:
program lab15;
var s:string;
j,i,k,l:integer;
t:boolean;
procedure error(i:integer);
begin
case i of
1:writeln('выражение не введено');
2:writeln('Отсутствует элемент списка');
3:writeln('элемент не соответствует шаблону');
end;
end;
procedure pr_name_sp(var s:string;k:integer);
begin;
for j:=k to length(s) do
begin
if length(s)=j then error(2);
if s[j]='(' then
begin
l:=j+1;
t:=false;
while (s[l]<>')')or(l<length(s))or(t=false) do
begin
if ((s in ['A'..'Z'])or(s[l] in ['a'..'z'])) and (s[l+1]=',') then begin l:=l+2; continue end
else
begin
if s[l+1]=')' then break else begin error(3); t:=true; break end;
end;
end;
l:=l+1;
if s[l]=',' then pr_name_sp(s,l) else break;
end;
end;
end;
begin
writeln('Введите предложение (в транслите),которое соответствует шаблону:');
writeln('список1(буква,буква),список2(буква,буква)');
readln(s);
pr_name_sp(s,1);
end.
[i]Добавлено через 00:32 сек.
тему closed
Changed: Михаил (20.12.2011 / 21:53)