** вход программе подаётся последовательность символов, заканчивающаяся точкой (точка –...

0 голосов
62 просмотров

На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит). Проверить, правильно ли в данной последовательности расставлены круглые скобки (то есть, справа от каждой открывающей есть соответствующая закрывающая, а слева от каждой закрывающей есть соответствующая открывающая).


Информатика (343 баллов) | 62 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var s:string; k,i:integer; b:boolean;
begin
writeln('s = ');
readln(s);
k:=0; i:=1;
b:=true;
while s[i]<>'.' do
 begin
 case s[i] of
  '(' : k:=k+1;
  ')' : k:=k-1;
 end;
 if k<0 then b:=false;<br> i:=i+1;
 end;
if b and (k=0) then writeln('Все ОК') else writeln('Есть ошибки');
end.

Пример:
s = ((a+b)/(2b-3a))(a/b).
Все ОК

(194k баллов)