С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
4 / 1 / 0
Регистрация: 09.10.2015
Сообщений: 204
1

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

18.12.2015, 03:27. Показов 2607. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть задачи такова:Дана строка,состоящая только из скобок и латинских символов.
Правильные строки:
1)Пустая строка и строка, состоящая из букв;
2)Если А и В правильные, то АВ правильное;
3) Если А правильное, то (А) правильное.
)(-такие скобки не правильные
Код снизу.Вроде бы написано правильно и прочекала для всех случаев,но мало ли что.Посмотрите пожалуйста,все ли условия соблюдены
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
using namespace std;
#include <iostream>
bool checkSkobki(char *s, int length)
{
    int open = 0;
    int close = 0;
    for (int i = 0; i < length; i++)
    {
        if (s[i] == '(')
        {
            open++;
        }
        else if (s[i] == ')'  && open>0)
        {
            close++;
        }
        else {
            if (s[i] != ')' && s[i] != '(')
                continue;
            return false;
        }
    }
    if (open == close)
    {
        return true;
    }
    else
    {
        return false;
    }
}
int main()
{
    if (checkSkobki("a(()()(hdv))l(()", 15))
    {
        cout << "\ntrue";
    }
    else
    {
        cout << "\nfalse";
    }
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2015, 03:27
Ответы с готовыми решениями:

Правильность расстановки скобок
Всё обыскал но никак не могу найти именно то, что мне нужно, а именно: Со всем в принципе...

Проверить правильность расстановки скобок
Помогите написать программу на c++. Дана строка, содержащая латинские буквы и скобки трех видов:...

Проверить правильность расстановки скобок в файле
Всем привет. У меня есть часть программы, которая выводит содержимое файла. Как мне проверить...

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

2
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 3
18.12.2015, 15:25 2
Kristina_S, зачем в функцию checkSkobki передавать длину строки? Ведь для этого есть встроенная функция strlen.
А правильность скобок лучше определить через стек.

У вас из-за этого даже ошибка. Длина строки "a(()()(hdv))l(()" 16, а вы вторым аргументом передаете 15.
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
18.12.2015, 15:44 3
Еще проще просто считать скобки. В начале счетчик устанавливается в 0. При встрече "(" счетчик++, ")" счетчик--. В конце должно выполняться условие счетчик==0. И по дороге счетчик не должен становиться <0
0
18.12.2015, 15:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2015, 15:44
Помогаю со студенческими работами здесь

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

Проверить правильность расстановки в тексте круглых скобок
Задача: Проверить правильность расстановки в тексте круглых скобок. #include &lt;iostream&gt;...

Используя рекурсию, определить правильность размещения скобок
Написать программу, что определяет правильность размещения трьох видов скобок ( ), , { }....

Проверка строки(в стеке) на правильность растановки скобок
Есть строка символов, признаком конца которой является ;. В строке могут быть фигурные, круглые,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru