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

На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит). Проверить, правильно ли в данной последовательности расставлены круглые скобки (то есть, справа от каждой открывающей есть соответствующая закрывающая, а слева от каждой закрывающей есть соответствующая открывающая).
Гость
Ответ(ы) на вопрос:
Гость
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). Все ОК
Не нашли ответ?
Ответить на вопрос
Похожие вопросы