- 20.03.2018 18:48
- Информатика
- remove_red_eye 5852
- thumb_up 44
Ответы и объяснения 1
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
var n:=ReadlnInteger('Число строк:');
Writeln('Вводите выражения построчно');
var a:=ReadArrString(n);
var ibr:array[1..4] of integer;
Writeln('Результаты работы программы');
for var j:=0 to a.Length-1 do begin
var s:=a[j];
var lvl:=0;
var s1:string;
repeat
s1:=s.MatchValue('(\(.*\))');
if s1.Length>0 then begin
Inc(lvl);
var i:=Pos(s1,s);
if lvl>1 then begin ibr[3]:=ibr[1]; ibr[4]:=ibr[2] end;
ibr[1]:=i; ibr[2]:=i+s1.Length-1;
s[ibr[1]]:='{'; s[ibr[2]]:='}';
end
until s1.Length=0;
if lvl>0 then begin s[ibr[1]]:='('; s[ibr[2]]:=')' end;
if lvl>1 then begin s[ibr[3]]:='['; s[ibr[4]]:=']' end;
a[j]:=s;
Writeln(a[j])
end
end.
Тестовое решение
Число строк: 5
Вводите выражения построчно
ln(sin((a+b)c-d))
2+(2+(2+(3+(4+7)+1)+9)+2)*3
2+(2-3)/4
(1+(2-3)/5)*4
неверная 1+(2*2)-5)
Результаты работы программы
ln{sin[(a+b)c-d]}
2+{2+{2+[3+(4+7)+1]+9}+2}*3
2+(2-3)/4
[1+(2-3)/5]*4
неверная 1+(2*2)-5)
- 21.03.2018 10:56
- thumb_up 19
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.