|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
|
Проверка на количество определенных символов в строке29.02.2016, 13:10. Показов 8735. Ответов 18
Метки нет (Все метки)
Задача: Имеется входной файл, в котором содержится код программы на С++. Необходимо проверить баланс открывающихся и закрывающихся скобок в данном файле. В новый файл записать сообщение о правильности или неправильности расстановки скобок.
Каким образом решить данную задачу знаю, но не знаю, как сделать проверку посимвольного всего файла на наличие того или иного символа. Подскажите, как это реализовать. Заранее Спасибо! Добавлено через 18 часов 19 минут bump
0
|
|
| 29.02.2016, 13:10 | |
|
Ответы с готовыми решениями:
18
Проверка определенных символов в строке Проверка количества определенных символов в строке
|
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
||||||
| 29.02.2016, 13:28 | ||||||
|
Если вам нужно просто проверить на соответствие кол-во открывающих и закрывающих скобок, можно так:
1
|
||||||
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
|
| 29.02.2016, 13:39 | |
|
1
|
|
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
|
| 29.02.2016, 14:16 [ТС] | |
|
Hikari, я думаю, такое не понадобиться, обговорил ход решения с учителем, как он сказал, у меня все верно (как в описании я расписал), так что думаю проблем не будет
0
|
|
|
Любитель чаепитий
|
||||||
| 29.02.2016, 14:17 | ||||||
|
Frip, Если не принимать во внимание случаи, которые описала Hikari, то можно вот так:
1
|
||||||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
||||||
| 02.03.2016, 21:22 [ТС] | ||||||
|
А можно проще сделать, без векторов?
Была похожая задача, но там проверялась строка, как преобразовать это, чтобы проверялось посимвольно из файла. Если встретилось "(", то переменной a прибавляем значение, если встретилось ")" то переменной b прибавляем значение. Чтобы потом можно было их сравнить и в вывод написать, каких именно скобок не хватает, и прочее. Кликните здесь для просмотра всего текста
Добавлено через 22 часа 11 минут bump Добавлено через 1 час 26 минут elephants, попробовал ваш код, для примера ввел в файл "((( )))", но он все-равно выдает результат Bad.
0
|
||||||
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
||||||
| 02.03.2016, 22:01 | ||||||
|
Frip, цикл while измените на такой, будет работать
1
|
||||||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
||||||||||||||||
| 02.03.2016, 22:16 [ТС] | ||||||||||||||||
|
elephants,
хм, странно, удалил первый файл, который создался, теперь вставляю и программы и просто скобки, все нормально работает А нет, вру, не работало в одном моменте. Подправил полностью программу под себя. Вот Кликните здесь для просмотра всего текста
Добавлено через 7 минут Проверил свою программу на примере Не по теме:
Все-равно пишет, что скобки расставлены верно. Может сможете понять, на первый взгляд, где может быть ошибка? Добавлено через 5 минут elephants,
После добавления вашего
0
|
||||||||||||||||
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
||||||||||||||||
| 02.03.2016, 22:24 | ||||||||||||||||
Добавлено через 6 минут Frip, and на && замените.
1
|
||||||||||||||||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
||||||||||||||||||||||||||
| 02.03.2016, 22:24 [ТС] | ||||||||||||||||||||||||||
|
elephants,
программа всегда к количеству скобок, которую она проверила в последнюю очередь прибавляет +1 т.е. Входной файл вида " (( ))" выдаст результат
Кликните здесь для просмотра всего текста
0
|
||||||||||||||||||||||||||
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
||
| 02.03.2016, 22:30 | ||
|
1
|
||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
||||||||||||||||
| 02.03.2016, 22:35 [ТС] | ||||||||||||||||
|
elephants, хорошо, добавил его.
И теперь программа считает все в точности, да наобарот на ввод вида
0
|
||||||||||||||||
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
||||||
| 02.03.2016, 22:52 | ||||||
|
Frip, данный код
{{}} () выводит это ( :1 ) :1 { :2 } :2Все скобки расставлены верно Во всяком случае у меня все правильно работает.
1
|
||||||
|
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
|
||||||||||||||||
| 02.03.2016, 22:55 | ||||||||||||||||
|
Всё работает.
2
|
||||||||||||||||
|
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
|
|||||||||||
| 02.03.2016, 23:12 | |||||||||||
|
Тогда вопрос к экспертам... в чем разница между in.get() и in.get(ch)?
В случае, если искомый символ в файле последний и нет переноса на новую строку, данный код
( :1 ) :1 { :2 } :2 а этот код
( :1 ) :2 { :2 } :2
1
|
|||||||||||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
|
| 02.03.2016, 23:12 [ТС] | |
|
Alex xelA,
мне надо решить программу именно тем алгоритмом, который я описал выше
0
|
|
|
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
|
|||||||
| 02.03.2016, 23:18 | |||||||
Сообщение было отмечено Frip как решение
Решение
0
|
|||||||
|
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
|
||||||
| 02.03.2016, 23:49 [ТС] | ||||||
|
Alex xelA, Спасибо большое! Проверил все что можно, все работает как часы!!!
Добавлено через 2 минуты Alex xelA, только не могли бы пояснить, что делает данная строчка. Все остальное понял, а эту - нет
0
|
||||||
|
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
|
|||||||
| 02.03.2016, 23:50 | |||||||
1
|
|||||||
| 02.03.2016, 23:50 | |
|
Помогаю со студенческими работами здесь
19
Нужно вывести количество определенных символов в строке Определить количество определенных групп символов в строке Во введенной строке подсчитайте количество определенных символов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
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, то после закрытия окошка. . .
|