Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Raketa
0 / 0 / 5
Регистрация: 31.01.2015
Сообщений: 192
#1

Проверка строки на правильную расстановку скобок - C++

22.09.2015, 10:28. Просмотров 789. Ответов 7
Метки нет (Все метки)

Прошу о помощи. Дали вот такое задание в универе. А ничего такого не объясняли. Как и что тут реализовать. Хотя бы какие-то подсказки можно. Готового кода не нужно(Хочу сам разобраться). Ну или какие-то книги чтоб быстро разобраться.
Необходимо реализовать программу которая будет анализировать исходный текст(строку) на правильную расстановку скобок . Строки находятся во внешнем файле, имя файла передается как аргумент командной строки.
http://www.cyberforum.ru/cpp-beginners/thread950777.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2015, 10:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверка строки на правильную расстановку скобок (C++):

Проверка строки(в стеке) на правильность растановки скобок
Есть строка символов, признаком конца которой является ;. В строке могут быть...

Сколько нужно убрать из данной последовательности скобок, чтобы получить правильную последовательность?
Сколько надо убрать скобок из данной последовательности скобок что бы...

Проверка баланса скобок
Как задать условие в проверке баланса скобок, что если скобки окажутся НЕ...

Проверка правильности расстоновки скобок
Дана страка. Проверить правильность расстановки скобок (в страке приутствуют...

Проверка правильности расстановки скобок
Помогите, пожалуйста, в написании счетчика скобок. Только новичок в...

7
Storm Screamer
97 / 101 / 14
Регистрация: 21.04.2013
Сообщений: 1,197
22.09.2015, 10:36 #2
Разбираться с: работа с файлами, строками, командной строкой.

Правильная расстановка: количество скобок четно в строке?

Открыть файл (путь к файлу получить из командной строки) -> считать строку -> обработать (правильная расстановка) -> вывести результат обработки -> закрыть файл (уничтожить созданные объекты).
1
Raketa
0 / 0 / 5
Регистрация: 31.01.2015
Сообщений: 192
22.09.2015, 10:41  [ТС] #3
а как правильно обработать расстановку???
0
Пытливый Ум
20 / 20 / 16
Регистрация: 04.06.2015
Сообщений: 126
22.09.2015, 10:55 #4
Raketa, вы интересуетесь какой алгоритм должен быть?
Тогда сформулируйте, что такое "правильная" расстановка
1
Raketa
0 / 0 / 5
Регистрация: 31.01.2015
Сообщений: 192
22.09.2015, 10:56  [ТС] #5
Да вы правы...это и имелось введу...
0
Storm Screamer
97 / 101 / 14
Регистрация: 21.04.2013
Сообщений: 1,197
22.09.2015, 11:06 #6
Цитата Сообщение от Raketa Посмотреть сообщение
а как правильно обработать расстановку???
Сначала искать символы "(" и ")" в строке. Если первый символ встретился ")" - неправильная расстановка уже. Если "(", то искать замыкающую скобку, ее нет - неправильная расстановка. В этом ключе рассуждать, примерно.
0
Raketa
0 / 0 / 5
Регистрация: 31.01.2015
Сообщений: 192
22.09.2015, 11:07  [ТС] #7
спасибо...буду пробовать
0
Пытливый Ум
20 / 20 / 16
Регистрация: 04.06.2015
Сообщений: 126
22.09.2015, 11:08 #8
Raketa, если под "правильностью" подразумевается выражение "каждой открытой скобке соответствует закрытая",
То тогда предлагаю вам следующий алгоритм:
1.Вводите знаковую переменную iCount, инициализируете её нулём
2.далее посимвольно сравниваете строчку с открытой и закрытой скобкой
Что-то вроде
C++
1
2
if ( next_symbol == '(' ) { iCount++; }
if ( next_symbol == ')' ) { iCount--; }
Иными словами за каждую открытую скобку увеличиваете счётчик, за каждую закрытую - уменьшаете
Тут нужно добавить проверку на то, что счётчик вдруг не стал отрицательным
Ведь согласитесь, не может быть закрытой скобки без открытой
Вот. А в конце ещё проверка на ноль - залог того, что каждая открытая скобка нашла свою закрытую
0
22.09.2015, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2015, 11:08
Привет! Вот еще темы с решениями:

Работа со строками в С++ проверка на согласованность скобок
В арифметическом выражении проверить согласованность скобок, правильность их...

Работа со строками на С++ проверка на согласованность скобок.
В арифметическом выражении проверить согласованность скобок, правильность их...

Проверка числа открывающихся и закрывающихся скобок
Нужно написать функцию, которая проверяет правильность расположения скобок в...

Проверка правильности расстановки скобок в строке
Проверка строки на правильность написания То есть (5-6)*(5-6) правильно ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru