Проверить баланс скобок в строке - Pascal

Узнай цену своей работы

Формулировка задачи:

Дана строка символов s, в которой могут быть скобки двух типов круглые и квадратные. Проверить баланс скобок. Пример: '1(2[34)5]', выход: баланс нарушен.

Решение задачи: «Проверить баланс скобок в строке»

textual
Листинг программы
var
  a,b:string;
function z(a:string):boolean;
   var
     b:string;
   begin
     b:='';
     while length(a)>0 do
       begin
         case a[1]of
           '(','[','{':b:=b+a[1];
           ')':if b[length(a)]='(' then delete(b,1,length(b))else b:=b+a[1];
           ']':if b[length(a)]='[' then delete(b,1,length(b))else b:=b+a[1];
           '{':if b[length(a)]='{' then delete(b,1,length(b))else b:=b+a[1];
           end;
         delete(a,1,1);
       end;
     z:=length(b)=0;
   end;
begin
  write('Enter string:');
  readln(a);
  writeln(z(a));
end.

Объяснение кода листинга программы

  1. Создаются две переменные типа string: a и b.
  2. Создается функция z, которая принимает в качестве аргумента строку a и возвращает булево значение.
  3. Внутри функции создается переменная b типа string, которая инициализируется пустой строкой.
  4. Запускается цикл while, который выполняется до тех пор, пока длина строки a больше 0.
  5. В каждой итерации цикла происходит следующее:
    • Проверяется первый символ строки a.
    • Если символ равен '(', '[', '{' (в зависимости от текущей версии кода), то к переменной b добавляется символ '('.
    • Если символ равен ']', '}', то из переменной b удаляется последний символ.
  6. После завершения цикла, функция возвращает булево значение, которое указывает на то, что баланс скобок был нарушен или нет.
  7. Выводится приглашение для ввода строки.
  8. Считывается строка из ввода пользователя.
  9. Вызывается функция z с введенной строкой в качестве аргумента.
  10. Выводится результат работы функции.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы