пожалуйста,помогите решить задачу! абсолютно не понимаю,с чего начать и что делать.
задача(процедуры и функции): составить подпрограмму определения баланса открывающих и закрывающих скобок в выражении. используя ее, составиь программа контроля правильности записи вводимых выражений.
заранее спасибо!
Sozialist
26.11.2007 7:36
Самый простой вариант без проверок. Естественно, нужно дорабатывать все виды скобок. Можно также удалять последовательность '()'. + Масса проверок, например, в начале не может идти ')', а в конце - '(' и т.д. Желательно полное условие задачи.
program balance; var n,m,i:integer; st:string;
//----------------------------------------Функция--------------------------------------------- Function Bal(str:string):boolean; begin m:=0; n:=0; for i:=1 to length(str) do begin if st[i] in [')','('] then if st[i]=')' then inc(m) else inc(n); end; if m=n then Bal:=true else Bal:=false; end; //-----------------------------------------------------------------------------------------------
BEGIN readln(st); if Bal(st) then write('Balance exists!') else writeln('No balance!'); readln; END.