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

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

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

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

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

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

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

Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок - C++
Всем добрый день) вот такая задача привела меня в ступор: "Проверить, соблюдается ли равен¬ство открывающихся и закрывающихся...

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке - C++
3. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке...кто-нибудь знает прогу???

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке - C++
Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке. c++

Ввести строку символов и найти баланс открывающихся и закрывающихся скобок - C++
ввести строку символов и найти баланс открывающихся и закрывающихся скобок

Проверить, одинаковое ли число открывающихся и закрывающихся квадратных скобок в данном массиве символов - C++
Дан массив символов. Проверить, одинаковое ли число открывающихся и закрывающихся квадратных скобок в данной строке.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
02.12.2013, 02:11 #2
dimakozyr, Ну посчитай количество открывающихся скобок и количество закрывающих, если они не будут совпадать, то верни false, а если будут совпадать то true.
1
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;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
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;
1
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
02.12.2013, 07:25 #5
если вас интересует именно правильность, то просто равенство ( и ) - неверно. валится моментально, например, так: )(. приколы типа проверить первую и последнюю - тоже неправильно. например: ())()(().
правильно считать можно так: встретив ( будем увеличивать счетчик на 1, ) - уменьшать на единицу. если счетчик никогда не был отрицательным и в конце ноль - последовательность правильная, иначе - нет.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2013, 07:25
Привет! Вот еще темы с ответами:

Массив строк: проверить, одинаковое ли число открывающихся и закрывающихся скобок в заданной строке - C++
Дан текст из нескольких строк, введенных с клавиатуры. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в заданной...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.12.2013, 07:25
Ответ Создать тему
Опции темы

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