Странное . var s: string; begin s: ='ценая вещь'; s: =copy(s,1,3)+copy(s,3,8); end.как-то так, наверное.
choia
02.01.2020
Var str: string; i, n9, n0: integer; begin readln(str); for i: =1 to length(str) do if str[i] = '(' then n9 : = n9 + 1 else if str[i] = ')' then n0 : = n0 + 1; if n9 = n0 then writeln('число открывающихся скобок равно числу закрывающихся') else writeln('число открывающихся скобок не равно числу закрывающихся'); end.
avguchenkov
02.01.2020
Есть простой способ подсчета парности скобок. инициализируем счетчик нулем, а затем читаем строку. если встречается открывающая скобка, в счетчик посылается +1, если закрывающая, то -1. после просмотра всей строки нулевое значение счетчика скажет нам о равенстве скобок, а ненулевое покажет количество лишних скобок. каких именно - покажет знак. попутно замечу, что подобные подсчеты не гарантирует проверки синтаксической правильности расстановки скобок, например, выражение )a+b( синтаксически неверно, но в нем "правильное" количество скобок. var i,k: integer; s: string; begin write('введите строку: '); readln(s); k: =0; for i: =1 to length(s) do case s[i] of '(': inc(k); ')': dec(k) end; if k=0 then writeln('скобки парные') else begin write('обнаружено непарных '); if k> 0 then write('открывающих') else write('закрывающих'); writeln(' скобок: ',abs(k)) end end. тестовое решение: введите строку: (3*k+1/(c-5)*a; обнаружено непарных открывающих скобок: 1
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дана фраза "ценая вещь". исправить ошибку в ней. (паскаль)