0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
1 | |
Проверка баланса кавычек четырех видов10.10.2018, 10:54. Показов 2049. Ответов 14
Здравствуйте! Подскажите, как можно написать программу, которая в данной строке проверяет правильность расстановки кавычек 4-х видов:', ", \', \". Не знаю как определять, является кавычка открывающей или закрывающей. Была идея для каждого типа поставить флаг, но, кажется, это не рациональный способ. Может есть другие варианты?
0
|
10.10.2018, 10:54 | |
Ответы с готовыми решениями:
14
Нарисуйте сетку 20х20, состоящую из разноцветных прямоугольных треугольников четырех видов, различающихся расп Проверка баланса Проверка баланса скобок Проверка баланса скобок |
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
10.10.2018, 11:22 | 2 |
Из тех, что перечислены, разницы нет между открывающей и закрывающей. Для провеки баланса надо просто следить, чтобы после кавычки одного вида шла такая же, а после пары кавычек должна идти та же, что была до этой пары, и т.д.
0
|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
10.10.2018, 11:39 [ТС] | 4 |
Скобки четко разделяются на открывающие - (,{ - и закрывающие - ), }. А кавычки - нет.
Добавлено через 1 минуту А если у меня миллион кавычек? Где я буду их хранить? И как я проверю, что пора остановить сборку кавычек?
0
|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
10.10.2018, 11:58 [ТС] | 6 |
Вот такая строка например - "....'...."....'
В стек: ", '. Третья кавычка - открывающая? Тогда в стек: ", ', ". Уже неверно. А может закрывающая? Тогда для второй кавычки нет закрывающей или для третей - открывающей?
0
|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
11.10.2018, 05:50 [ТС] | 8 |
В общем, появилась такая идея: когда встретил кавычку, ищу такую же, пропуская все символы, если нашел, то проверяю подстроку, начиная с открывающей кавычки, заканчивая закрывающей.
0
|
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
|
|
11.10.2018, 06:06 | 9 |
0
|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
11.10.2018, 10:10 [ТС] | 10 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
11.10.2018, 11:23 | 11 |
плохая идея.
у вас конечный автомат с двумя состояниями: нет_кавычек, кавычка_открылась. 1. если стек пуст - значит нет_кавычек. 2. если в стеке есть кавычка - ищем закрывающую. 3. если на путях встретилась другая кавычка (не закрывающая) - добавляем в стек, и далее пункт 2. 4. если строка закончилась, а стек не пуст - значит ошибка: "отсутствует закрывающая кавычка" пример: "....'...."....' "....'...."....'..."....'....'...."
0
|
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
|
|
11.10.2018, 15:55 | 12 |
0
|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 13
|
|
12.10.2018, 08:38 [ТС] | 13 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
12.10.2018, 11:35 | 15 |
0
|
12.10.2018, 11:35 | |
12.10.2018, 11:35 | |
Помогаю со студенческими работами здесь
15
Проверка баланса скобок Проверка баланса скобок Строки: проверка баланса скобок [Программа] Проверка баланса (Ростелеком) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |