М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
aiperiwa
aiperiwa
05.10.2022 19:13 •  Информатика

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

с

👇
Ответ:
vampirmixa
vampirmixa
05.10.2022

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

}

4,5(71 оценок)
Открыть все ответы
Ответ:
Reastern1
Reastern1
05.10.2022

1 задани это снимок дяде)  

Обра́тное число́ (обратное значение, обратная величина) — это число, на которое надо умножить данное число, чтобы получить единицу. Два таких числа называются взаимно обратными. 

VAR
x:array[1..100] of real;
n,i,c:integer;
BEGIN
write('n=');
readln(n);
for i := 1 to n do begin
write('x[', i, ']=');
readln(x[ i ]);
end;
c:=0;
for i := 1 to n-1 do if x[ i ]*x[ i+1 ]=1 then c:=c+1;
writeln('c=',c);
readln;
END.

3  for i:=1 to n-1
for j:= i+1 do
if a<a[j]>; a:=a[j]; a[j]:=b end

4  не знаю

4,4(68 оценок)
Ответ:
4fhfhiukhriu
4fhfhiukhriu
05.10.2022

1 задани это снимок дяде)  

Обра́тное число́ (обратное значение, обратная величина) — это число, на которое надо умножить данное число, чтобы получить единицу. Два таких числа называются взаимно обратными. 

VAR
x:array[1..100] of real;
n,i,c:integer;
BEGIN
write('n=');
readln(n);
for i := 1 to n do begin
write('x[', i, ']=');
readln(x[ i ]);
end;
c:=0;
for i := 1 to n-1 do if x[ i ]*x[ i+1 ]=1 then c:=c+1;
writeln('c=',c);
readln;
END.

3  for i:=1 to n-1
for j:= i+1 do
if a<a[j]>; a:=a[j]; a[j]:=b end

4  не знаю

4,7(65 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ