|
4 / 4 / 3
Регистрация: 27.11.2016
Сообщений: 59
|
||||||
Стековая реализация проверки правильности скобочной последовательности20.07.2017, 19:56. Показов 13008. Ответов 14
Метки нет (Все метки)
Надо проверить, верна ли скобочная последовательность. Решение с помощью стека. Программа ломается на самом простом тесте(лол) : (). Но я не понимаю, почему так происходит, и как это поправить.
0
|
||||||
| 20.07.2017, 19:56 | |
|
Ответы с готовыми решениями:
14
Реализация скобочной записи дерева Программа проверки правильности скобок Найти баг в простой функции проверки правильности скобок |
|
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
|
||||||
| 20.07.2017, 20:51 | ||||||
|
TheJazzMandono, закидываем скобки в стек, а потом берем и сравниванием, совпало - удаляем и проверяем дальше пока один из стеков не пуст. Если скобки не совпали - скобки расставлены не верно. Если один из стеков пуст, а другой полон - скобки не совпали. Если оба стека пустые - скобки расставлены верно (либо отсутствуют)
0
|
||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||||||||
| 20.07.2017, 21:15 | ||||||||
if
Во-вторых, результат getchar следует принимать в переменную типа int, а не char. Значение EOF может не помещаться в char.Во-третьих, с кодом все более-менее нормально, а "не работает" он скорее всего потому, что в зубы ему попадает символ перевода строки '\n', которым вы завершаете ручной ввод. Код к этому не готов.Либо делайте чтение до '\n' (а не до EOF), либо подготавливайте входные данные так, чтобы в них не было ничего лишнего.Более того, ваш алгоритм совершенно не правилен. ([]) распознается как неправильный ввод.
1
|
||||||||
|
4 / 4 / 3
Регистрация: 27.11.2016
Сообщений: 59
|
|
| 20.07.2017, 21:20 [ТС] | |
|
Там 60 тестов, проходят 39) А самый простой- нет. в чем ошибка в if?
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||||
| 20.07.2017, 21:33 | ||||
EOF или '\n'. Отлавливайте оба - и все дела.Это вообще ваш код? Добавлено через 8 минут ([]) и ])([ породят одинаковое содержимое стеков.
0
|
||||
|
279 / 39 / 13
Регистрация: 11.10.2015
Сообщений: 405
|
||||||
| 20.07.2017, 21:53 | ||||||
|
самое адекватное решение
0
|
||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||
| 20.07.2017, 22:20 | ||
|
Также, перемудреность решения привела к образованию ненужных инвариантов. Манерничанье с оператором ?: тоже производит странное впечатление.Нет, на "самое адекватное" не потянет.
0
|
||
|
4 / 4 / 3
Регистрация: 27.11.2016
Сообщений: 59
|
|
| 20.07.2017, 22:36 [ТС] | |
|
empty true возвращает, если стек не пуст, как я прочел. пробовал я ставить и убирать !)
Знаю, что непрофессионально это.
0
|
|
|
279 / 39 / 13
Регистрация: 11.10.2015
Сообщений: 405
|
|
| 20.07.2017, 22:52 | |
|
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
|||||||||||||||||
| 20.07.2017, 23:22 | |||||||||||||||||
1
|
|||||||||||||||||
|
279 / 39 / 13
Регистрация: 11.10.2015
Сообщений: 405
|
|
| 20.07.2017, 23:26 | |
|
0
|
|
| 21.07.2017, 03:49 | |||||||||||
|
Через стек, говорите?
И не перемудренное? Держите ![]()
3
|
|||||||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||||||
| 21.07.2017, 04:43 | ||||||
|
Бесстековая (якобы) реализация от Коляна из третьего подъезда
1
|
||||||
| 21.07.2017, 05:57 | ||||||
|
Васян с соседнего дома не мог не ответить
![]()
Не по теме: Эх, Васяну за его кота сказали спасибо, а мне за
4
|
||||||
|
4 / 4 / 3
Регистрация: 27.11.2016
Сообщений: 59
|
|
| 25.07.2017, 16:26 [ТС] | |
|
Cпасибо большое, заработало! Благодарю также за разъяснения с getchar()!
0
|
|
| 25.07.2017, 16:26 | |
|
Помогаю со студенческими работами здесь
15
Функция для проверки правильности написания адреса почты Добавить в программу функцию проверки правильности ввода даты Функция проверки правильности написания адреса почты (DevC++) Реализовать функцию проверки правильности html-тэгов в html-документе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|