Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2 / 2 / 2
Регистрация: 10.09.2015
Сообщений: 100

Используя рекурсию, определить правильность размещения скобок

03.12.2016, 12:11. Показов 1576. Ответов 24
Метки нет (Все метки)

Написать программу, что определяет правильность размещения трьох видов скобок ( ), [ ], { }. Использовать рекурсию
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2016, 12:11
Ответы с готовыми решениями:

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

Написать парсер текста, проверяющий правильность расстановки скобок, используя стек и файловый ввод/вывод
Дан текстовый файл INPUT.TXT. Проверить в тексте файла правильности расстановки открывающих и закрывающих скобок ‘(‘, ‘)’, ‘{‘, ‘}’, ‘’....

В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений операторных скобок (begin - end) в этой программе
В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений операторных скобок (begin - end) в этой...

24
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
03.12.2016, 14:11
хотя не не меньший уровень рекурсии а просто вызовов функции в коде меньше)

Добавлено через 2 минуты
hardyaw, разве что в самой функции перед возвратом ответа
0
2 / 2 / 2
Регистрация: 10.09.2015
Сообщений: 100
03.12.2016, 17:48  [ТС]
IchimaruGin, как это реализоать?)

Добавлено через 3 часа 30 минут
IchimaruGin, что то она не правильно работает, если сменить количество скобок, всегда выдает true
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
03.12.2016, 18:59
hardyaw,
C++
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
#include <iostream>
#include <string>
 
using namespace std;
 
bool braces_ok(string a, int idx, int square, int round, int braces){
    if(idx == a.size()) {
        if(square != 0 || round != 0 || braces != 0)
            return false;
        return true;
    }
    if(square < 0 || round < 0 || braces < 0)
        return false;
    else {
        switch(a[idx]) {
            case '(':
                return braces_ok(a, idx + 1, square, round + 1, braces);
                break;
            case ')':
                return braces_ok(a, idx + 1, square, round - 1, braces);
                break;
            case '[':
                return braces_ok(a, idx + 1, square + 1, round, braces);
                break;
            case ']':
                return braces_ok(a, idx + 1, square - 1, round, braces);
                break;
            case '{':
                return braces_ok(a, idx + 1, square, round, braces + 1);
                break;
            case '}':
                return braces_ok(a, idx + 1, square, round, braces - 1);
                break;
            default:
                return braces_ok(a, idx + 1, square, round, braces);
                break;
        }
    }
}
 
int main() {
    string a;
    while(1) {
        cout << "string a: ";
        cin >> a;
        cout << boolalpha << braces_ok(a,0,0,0,0) << endl;
    }
}
Исправил.
чет непошла сегодня рекурсия)
Миниатюры
Используя рекурсию, определить правильность размещения скобок  
0
2 / 2 / 2
Регистрация: 10.09.2015
Сообщений: 100
04.12.2016, 13:07  [ТС]
IchimaruGin, я не могу понять 43 строку while(1)
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
04.12.2016, 14:42
hardyaw, это тоже самое что while(true) : бесконечный цикл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2016, 14:42

Используя Стек, Определить Правильность Расстановки Скобок
С Клавиатуры Вводится Арифметическое Выражение С Использование Круглых, Квадратных И Фигурных Скобок. Используя Стек, Определить ...

Используя стек, проверить правильность вложений операторных скобок (begin/end)
В файле находится текст программы на pascal. используя стек проверить правильность вложений операторных скобок (begin/end) в этой...

Используя стек, проверить правильность вложений операторных скобок (begin - end) в программе на Паскале
В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений операторных скобок (begin - end) в этой...

Определить правильность расстановок скобок в тексте
Дан файл содержащий произвольный текст. Определить правильно ли в нем расставлены скобки. (количество &quot;(&quot;=количеству...

Определить правильность расстановки скобок в строке
Добрый день. Появилась проблема: имеется задача &quot;Дан текст в файле, проверить правильно ли расположены скобки ( и ), т.е. ( перед )....


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru