Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то есть каждой открывающей соответствует одна закрывающая), то вывести число 0.
В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число –1. Нумерация позиций символов начинается с 1.

с

ЖибекСуонн3 ЖибекСуонн3    2   24.12.2020 00:00    11

Ответы
lyubashabelyaeva lyubashabelyaeva  23.01.2021 00:04

#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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика