Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
#1

Проверка числа открывающихся и закрывающихся скобок - C++

02.12.2013, 02:10. Просмотров 957. Ответов 4
Метки нет (Все метки)

Нужно написать функцию, которая проверяет правильность расположения скобок в строке.
Если открывающимся скобкам соответствует столько-же закрывающихся, функция должна возвращать true.
Пример входной строки: "(()))())()"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 02:10     Проверка числа открывающихся и закрывающихся скобок
Посмотрите здесь:

C++ Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке
Проверка правильности расстоновки скобок C++
C++ Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок
C++ Проверка баланса скобок
C++ Проверить, одинаково ли число открывающихся и закрывающихся скобок в данной строке. Определить длину строки, результат вывести на экран.
Ввести строку символов и найти баланс открывающихся и закрывающихся скобок C++
C++ Проверить программу на соответствие числа открывающихся и закрывающихся круглых и фигурных скобок
Проверка на расстановку скобок C++
Проверить сколько открывающихся скобок, и сколько закрывающихся C++
C++ Проверка строки на правильную расстановку скобок
C++ Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке
Проверить, одинаковое ли число открывающихся и закрывающихся квадратных скобок в данном массиве символов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
02.12.2013, 02:11     Проверка числа открывающихся и закрывающихся скобок #2
dimakozyr, Ну посчитай количество открывающихся скобок и количество закрывающих, если они не будут совпадать, то верни false, а если будут совпадать то true.
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
02.12.2013, 02:16  [ТС]     Проверка числа открывающихся и закрывающихся скобок #3
Просто это задание на прохождение стажировки, его за 30 минут надо сделать,
хочется, чтобы правильно было.

Сделал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool parenthesis(char myString[80]) {
    int k = 0;
    for (int i = 0; myString[i]; ++i) {
        if (myString[i] == '(')
            k++;
        if (myString[i] == ')')
            k--;
    }
    if (k == 0)
        return true;
    else
        return false;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6676 / 3857 / 511
Регистрация: 29.11.2010
Сообщений: 10,217
02.12.2013, 02:21     Проверка числа открывающихся и закрывающихся скобок #4
C++
1
2
3
4
5
6
7
8
9
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "(()))())()";
    std::cout << std::boolalpha << (std::count(str.begin(), str.end(), '(') == std::count(str.begin(), str.end(), ')') && *str.begin() == '(' && *str.rbegin() == ')') << std::endl;
}
Добавлено через 28 секунд
Цитата Сообщение от dimakozyr Посмотреть сообщение
if (k == 0)
* * * * return true;
* * else
* * * * return false;
C++
1
return !k;
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
02.12.2013, 07:25     Проверка числа открывающихся и закрывающихся скобок #5
если вас интересует именно правильность, то просто равенство ( и ) - неверно. валится моментально, например, так: )(. приколы типа проверить первую и последнюю - тоже неправильно. например: ())()(().
правильно считать можно так: встретив ( будем увеличивать счетчик на 1, ) - уменьшать на единицу. если счетчик никогда не был отрицательным и в конце ноль - последовательность правильная, иначе - нет.
Yandex
Объявления
02.12.2013, 07:25     Проверка числа открывающихся и закрывающихся скобок
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru