Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то есть каждой открывающей соответствует одна закрывающая), то вывести число 0.
В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число –1. Нумерация позиций символов начинается с 1.
с
#include <iostream>
using namespace std;
int main() {
string str;
cin >> str;
int count = 0, last_open = 0;
char open = '(', closed = ')';
for (int i = 0; i < str.size() and count >= 0; ++i){
if (str[i] == open){
++count;
last_open = i + 1;
}
else if (str[i] == closed)
--count;
}
if (count < 0)
cout << -1;
else if (count > 0)
cout << last_open;
else
cout << 0;
return 0;
}