0 / 0 / 0
Регистрация: 04.03.2018
Сообщений: 30

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

17.04.2019, 21:27. Показов 2243. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать и испытать функцию для проверки баланса парных скобок в строке, то есть количество открытых скобок должно совпадать с количеством закрытых, причём необходимо отличать тип скобок – круглые, квадратные, фигурные. Функция возвращает значение типа int равное 0 – если баланс скобок нарушен, равное 1 – если баланс скобок соблюдается, равное -1 – если скобок в строке нет.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2019, 21:27
Ответы с готовыми решениями:

Проверка расстановки скобок
Честно нашел в просторах интернета много решений этой задачи. Но может есть у кого то идея сделать максимально просто. не развернутое...

Правильность расстановки скобок
Задана строка, состоящая из символов. На приклад «(», «)», «», «{», «}». Правила, що відкривають і закривають послідовность задаються...

Правильность расстановки парных скобок
Помогите пожалуйста с кодом, нужно проверить правильно ли расставлены скобки при помощи стека. Заранее спасибо! --- программа должна...

2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.04.2019, 21:30
Dan5859, решено 100500 раз. Я уж не говорю воспользоваться поиском. На первой (!!!) странице есть подобная тема.
Проверка расстановки скобок
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
18.04.2019, 03:18
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.Stack;
 
class CheckBrackets {
    int checkBrackets(String expression) {
        int result = -1;
        Stack<Character> stack = new Stack<>();
        if (expression != null) {
            for (char symbol : expression.toCharArray()) {
                if (symbol == '(' || symbol == '[' || symbol == '{') {
                    stack.push(symbol);
                    if (result == -1) {
                        result = 1;
                    }
                } else if (symbol == ')' || symbol == ']' || symbol == '}') {
                    if (stack.empty()) {
                        result = 0;
                        break;
                    } else {
                        char bracket = stack.pop();
                        if (!checkReverseBracket(bracket, symbol)) {
                            result = 0;
                            break;
                        }
                    }
                }
            }
            if (!stack.empty()) {
                result = 0;
            }
        }
        return result;
    }
 
    private boolean checkReverseBracket(char on, char off) {
        return (on == '(' && off == ')') || (on == '[' && off == ']') || (on == '{' && off == '}');
    }
}
 
class BracketTest {
    private static final String[] EXPRESSIONS = {
            "()",
            "[]",
            "{}",
            "(())",
            "([])",
            "{()}",
            "((()))",
            "([()])",
            "({[]})",
            "(",
            ")",
            ")(",
            "(()",
            "())",
            "{()",
            "([)]",
            "([(}])",
            "([{]})",
            "  "
    };
 
    public static void main(String[] args) {
       CheckBrackets check = new CheckBrackets();
       for (String expression : EXPRESSIONS) {
           System.out.printf("expression: %-10s result: %d;\n", expression, check.checkBrackets(expression));
       }
    }
}
Добавлено через 1 минуту
вывод:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
expression: ()         result: 1;
expression: []         result: 1;
expression: {}         result: 1;
expression: (())       result: 1;
expression: ([])       result: 1;
expression: {()}       result: 1;
expression: ((()))     result: 1;
expression: ([()])     result: 1;
expression: ({[]})     result: 1;
expression: (          result: 0;
expression: )          result: 0;
expression: )(         result: 0;
expression: (()        result: 0;
expression: ())        result: 0;
expression: {()        result: 0;
expression: ([)]       result: 0;
expression: ([(}])     result: 0;
expression: ([{]})     result: 0;
expression:            result: -1;
 
Process finished with exit code 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.04.2019, 03:18
Помогаю со студенческими работами здесь

Проверка растановки скобок в строке
Добрый день. Суть задачи - написать метод, который проверяет симметрично ли расставлены скобки в строке. Скобки трех видов. Выкладываю...

Проверка баланса скобок
#include&lt;stdio.h&gt; #include&lt;string.h&gt; struct NODE { char info; NODE *next; }; struct STACK {

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

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

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


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru