По разделам

 

Решение задачи String 69


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

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string  s,  a = "";
    cin >> s;
    for(int i = 0; i < s.size(); ++i){
        if(s[i] == '(')
            a += s[i];
        else if(s[i] == ')'){
            if(a[a.size() - 1] == '(')
                a.erase(a.size() - 1);
            else{
                cout << i;
                return 0;
            }
        }
    }
    if(a.size())
        cout << -1;
    else
        cout << 0;
    return 0;
}

Код (Pascal)

program String69;
var
 S:String;
 i,Num,Error:integer;
 
begin
  Write('S: ');
  Readln(S);
 
  i:=1;
  error:=0;
  while (i<=Length(S)) do
   begin
    if S[i]='(' then Num:=Num+1;
    if S[i]=')' then Num:=Num-1;
    if (Num<0) and (error=0) then error:=i;
    inc(i);
   end;
 
  if error<>0 then Writeln(error)
   else if Num>0 then Writeln(-1)
    else Writeln(0);
end.
									




String. Абрамян
String 1 Просмотров: 6209
String 2 Просмотров: 4367
String 3 Просмотров: 2684
String 4 Просмотров: 3719
String 5 Просмотров: 4366
String 6 Просмотров: 4169
String 7 Просмотров: 2891
String 8 Просмотров: 3611
String 9 Просмотров: 2969
String 10 Просмотров: 3162
String 11 Просмотров: 3824
String 12 Просмотров: 3351
String 13 Просмотров: 4016
String 14 Просмотров: 2942
String 15 Просмотров: 3657
String 16 Просмотров: 3598
String 17 Просмотров: 2952
String 18 Просмотров: 2633
String 19 Просмотров: 3610
String 20 Просмотров: 2751
String 21 Просмотров: 2445
String 22 Просмотров: 2621
String 23 Просмотров: 3641
String 24 Просмотров: 2717
String 25 Просмотров: 1988
String 26 Просмотров: 3200
String 27 Просмотров: 2834
String 28 Просмотров: 2990
String 29 Просмотров: 3730
String 30 Просмотров: 2497
String 31 Просмотров: 2909
String 32 Просмотров: 2354
String 33 Просмотров: 2028
String 34 Просмотров: 1985
String 35 Просмотров: 1856
String 36 Просмотров: 1680
String 37 Просмотров: 1432
String 38 Просмотров: 1571
String 39 Просмотров: 1670
String 40 Просмотров: 1942
String 41 Просмотров: 1731
String 42 Просмотров: 3373
String 43 Просмотров: 1653
String 44 Просмотров: 1624
String 45 Просмотров: 2039
String 46 Просмотров: 1360
String 47 Просмотров: 1273
String 48 Просмотров: 1802
String 49 Просмотров: 1532
String 50 Просмотров: 1575
String 51 Просмотров: 1470
String 52 Просмотров: 1433
String 53 Просмотров: 1391
String 54 Просмотров: 1061
String 55 Просмотров: 1205
String 56 Просмотров: 1028
String 57 Просмотров: 1648
String 58 Просмотров: 1745
String 59 Просмотров: 1542
String 60 Просмотров: 1403
String 61 Просмотров: 1202
String 62 Просмотров: 1261
String 63 Просмотров: 1611
String 64 Просмотров: 1477
String 65 Просмотров: 1349
String 66 Просмотров: 1480
String 67 Просмотров: 1146
String 68 Просмотров: 1396
String 69 Просмотров: 1265
String 70 Просмотров: 1975

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет