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

Разработать функцию для проверки баланса парных скобок в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти в фотографии квадрат с наибольшей суммой и квадрат с наименьшей суммой http://www.cyberforum.ru/cpp-beginners/thread1704432.html
Двумерный массив является "черно-белой фотографией", каждый его элемент - насыщенность некоторой точки (от 0 до некоторого значения Max). Требуется для случайно сгенерированного порядка стороны квадрата N найти квадрат с наибольшей суммой и квадрат с наименьшей суммой. Может кто помочь?
C++ Разработать класс СПИСОК Разработать класс СПИСОК последовательного хранения. Для класса реализовать: конструктор, деструктор, метод помещения вставки значения в список (по индексу), удаление элемента из списка (по индексу), операцию для доступа к значению элемента по индексу, метод определения размера списка, поиск определенного значения в списке (используя операцию ==). http://www.cyberforum.ru/cpp-beginners/thread1704426.html
Перегрузка операторов C++
Создать класс МНОГОЧЛЕН степени n от одной переменной x, задаваемый массивом своих коэффициентов (массив должен храниться в динамической памяти и задаваться внутри конструктора, используя датчик случайных чисел). Класс должен включать конструктор, которому в качестве параметра передается степень многочлена; деструктор; конструктор копирования, метод, который печатает уравнение на экран. Для...
Определить, в какой из систем счисления сумма всех цифр натурального числа имеет наибольшее значение C++
C++ Определить, в какой из систем счисления сумма всех цифр натурального числа имеет наибольшее значение. Основания систем счисления: 2,3,...,9.
C++ Определить, являются ли все числа последовательности одного знака http://www.cyberforum.ru/cpp-beginners/thread1704378.html
C++ Дана последовательность из вещественных чисел, которые вводятся по одному. За последним числом вводится нуль. Определить, являются ли все числа последовательности одного знака. Входные данные Дана последовательность из вещественных чисел. За последним числом вводится нуль. Выходные данные Вывести "YES", если все числа последовательности одного знака, иначе вывести "NO".
C++ Ошибка в конце кода Вообщем код работает правильно. Но в конце после завершения работы выдает ошибку(см. снизу). Что это за ошибка такая? И как ее устранить? #include <iostream> #include <string> #include <cctype> using namespace std; const int value = 10; int main() подробнее

Показать сообщение отдельно
akaAxeL
66 / 66 / 30
Регистрация: 14.07.2013
Сообщений: 251
06.04.2016, 12:35     Разработать функцию для проверки баланса парных скобок в строке
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
#include<iostream>
#include<stack>
#include<cstring>
using namespace std;
// Function to check whether two characters are opening
// and closing of same type.
bool ArePair(char opening,char closing)
{
    if(opening == '(' && closing == ')') return true;
    else if(opening == '{' && closing == '}') return true;
    else if(opening == '[' && closing == ']') return true;
    return false;
}
int balanceBrackets(char * exp)
{
    stack<char>  S;
  unsigned int noBrackets = 0;
    for(int i =0;i<strlen(exp);i++)
    {
        if(exp[i] == '(' || exp[i] == '{' || exp[i] == '[')
            S.push(exp[i]);
        else if(exp[i] == ')' || exp[i] == '}' || exp[i] == ']')
        {
            if(S.empty() || !ArePair(S.top(),exp[i]))
                return 0;
            else
                S.pop();
        }
    else noBrackets++;
    }
  
  if (noBrackets == strlen(exp))
    return -1;
    return S.empty() ? 1:0;
}
 
int main(int argc, char const *argv[]) {
  cout << balanceBrackets(const_cast<char*> (argv[1])) << endl;
  return 0;
}
 
Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru