Проверить баланс скобок в строке - 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.
Объяснение кода листинга программы
- Создаются две переменные типа string: a и b.
- Создается функция z, которая принимает в качестве аргумента строку a и возвращает булево значение.
- Внутри функции создается переменная b типа string, которая инициализируется пустой строкой.
- Запускается цикл while, который выполняется до тех пор, пока длина строки a больше 0.
- В каждой итерации цикла происходит следующее:
- Проверяется первый символ строки a.
- Если символ равен '(', '[', '{' (в зависимости от текущей версии кода), то к переменной b добавляется символ '('.
- Если символ равен ']', '}', то из переменной b удаляется последний символ.
- После завершения цикла, функция возвращает булево значение, которое указывает на то, что баланс скобок был нарушен или нет.
- Выводится приглашение для ввода строки.
- Считывается строка из ввода пользователя.
- Вызывается функция z с введенной строкой в качестве аргумента.
- Выводится результат работы функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д