Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 20
1

Проверить баланс скобок в выражении

11.02.2014, 13:35. Показов 1300. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проверить баланс скобок в арифметическом выражении по следующему алгоритму:сравнивать по очереди каждый символ с"(" и ")". Если очередной символ "(", тогда некоторую числовую переменную (в начале ее нужно обнулить) увеличиваем на 1, если символ ")", тогда уменьшаем на 1.
если закрывающая скобка появилась раньше, чем открывающая, тогда значение числовой переменной стает отрицательным - скобки не сбалансированы, и последующую проверку можно приостановить .
Если текст проверен до конца, и значение переменной = 0, то скобки сбалансированы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2014, 13:35
Ответы с готовыми решениями:

Проверить, имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок
Проверить, имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок, имея в виду,...

Файлы: проверить корректность расстановки скобок в арифметическом выражении
Проверить корректность расстановки скобок в арифметическом выражении. Выражение задается из файла...

Проверить правильность расстановки скобок трех типов в выражении
Проверить правильность расстановки скобок трех типов (круглых, квадратных и фигурных) в выражении....

Проверить баланс скобок в арифметическом выражении по следующему алгоритму
Проверить баланс скобок в арифметическом выражении по следующему алгоритму. Сравнить по очереди...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
11.02.2014, 13:49 2
Лучший ответ Сообщение было отмечено adams1995 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var i,k,res:integer;
    s:string;
    b:boolean;
begin
writeln('Ââåäèòå ñòðîêó, ñîäåðæàùóþ êðóãëûå ñêîáêè');
read(s);
res:=0;
k:=0;
i:=1;
while (i<=length(s))and(res=0) do
 begin
  if s[i]='('then inc(k);{åñëè îòêðûâàåì +1}
  if s[i]=')'then dec(k);{çàêðûâàåì -1}
  if k<0 then res:=1{åñëè ðåçóëüòàò ñ íàðàñòàíèåì -, ýòî íîìåð íàðóøèòåëÿ}
  else inc(i);{èíà÷å âïåðåä}
 end;
if k=0 then write('Ñêîáêè ñáàëàíñèðîâàíû')
else write('Ñêîáêè íå ñáàëàíñèðîâàíû')
end.
2
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 20
11.02.2014, 14:21  [ТС] 3
Спасибо большое за помощь
0
11.02.2014, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2014, 14:21
Помогаю со студенческими работами здесь

Баланс открывающих и закрывающих скобок в выражении (Перевод программы в процедуру)
program Balance; uses crt; var s: string; dlina, flag, i : integer; begin clrscr; ...

Проверить баланс скобок в строке
Дана строка символов s, в которой могут быть скобки двух типов круглые и квадратные. Проверить...

Проверить баланс открывающихся и закрывающихся скобок
Всем доброй ночи. Не спящие помогите с решением задач. Знаю, что простейшие, но с Паскалем очень и...

Проверить баланс открывающихся и закрывающихся скобок
Проверить, имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru