Предмет: Информатика,
автор: Amhostlkn
Дана строка символов содержащая текст и арифметические выражения вида a®b, где ®-один из знаков +,-,*,/. Выписать все арифметические выражения и вычислить их значения
Ответы
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString('Вводите:');
var m:=s.Matches('(-{0,1}d+(.d+){0,1}[+-*\]d+(.d+){0,1})');
foreach var e in m do begin
var t:=e.Value;
Write(t,'=');
var op:=t.MatchValue('[+-*\]');
var i:=Pos(op,t);
var a:=t[:i].ToReal;
var b:=t[i+1:].ToReal;
case op[1] of
'+':Writeln(a+b);
'-':Writeln(a-b);
'*':Writeln(a*b);
'/':Writeln(a/b)
end
end
end.
Пример
Вводите: jhdkjfsgbj sf5+4sdfgs fd39.8*178.78dghfg
5+4=9
39.8*178.78=7115.444
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString('Вводите:');
var m:=s.Matches('(-{0,1}d+(.d+){0,1}[+-*\]d+(.d+){0,1})');
foreach var e in m do begin
var t:=e.Value;
Write(t,'=');
var op:=t.MatchValue('[+-*\]');
var i:=Pos(op,t);
var a:=t[:i].ToReal;
var b:=t[i+1:].ToReal;
case op[1] of
'+':Writeln(a+b);
'-':Writeln(a-b);
'*':Writeln(a*b);
'/':Writeln(a/b)
end
end
end.
Пример
Вводите: jhdkjfsgbj sf5+4sdfgs fd39.8*178.78dghfg
5+4=9
39.8*178.78=7115.444
Похожие вопросы
Предмет: Математика,
автор: angelinabrigadir
Предмет: Қазақ тiлi,
автор: aldiyar201105
Предмет: Алгебра,
автор: non376617m
Предмет: Математика,
автор: ranet510
Предмет: Физика,
автор: 563728