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

muratbaevdanil muratbaevdanil    2   09.08.2019 12:10    1

Ответы
nilyu200513 nilyu200513  14.08.2020 11:03
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;
 i:=i+1;
 end;
if b and (k=0) then writeln('Все ОК') else writeln('Есть ошибки');
end.

Пример:
s = ((a+b)/(2b-3a))(a/b).
Все ОК
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика