СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Проверка корректности скобочной последовательности

Категория: Информатика

Нажмите, чтобы узнать подробности

Используется стек (реализован масссивом)

Просмотр содержимого документа
«Проверка корректности скобочной последовательности»

program n1; label 1,2;

var a:array [1..100] of string;

b,c,i,j,k:integer; s:string;

begin

read(s);

k:=1;

for i:=1 to length(s) do

begin

if s[i]='(' then s[i]:='1';

if s[i]='[' then s[i]:='2';

if s[i]='{' then s[i]:='3';

end;

if (s[1]='1') or (s[1]='2') or (s[1]='3') then a[1]:=s[1] else goto 1;

for i:=2 to length(s) do

if (s[i]='1') or (s[i]='2') or (s[i]='3')then

begin

a[k+1]:=s[i];

inc(k);

end

else

begin

if s[i]=')' then s[i]:='1';

if s[i]=']' then s[i]:='2';

if s[i]='}' then s[i]:='3';



if s[i]=a[k] then begin a[k]:=''; dec(k);

end

else goto 1;

end;

if a[1]='' then begin writeln('yes'); goto 2; end;

1:write('err');

2:end.