Pagini recente » Cod sursa (job #1172305) | Cod sursa (job #1383468) | Cod sursa (job #1206313) | Cod sursa (job #1609064) | Cod sursa (job #1549861)
var s:string;
i,j,k:longint;
function str2int(a,b:longint):longint;
var i,n:longint;
begin
n:=0;
for i:=a to b do
n:=n*10 + ord(s[i])-ord('0');
str2int:=n;
end;
function eval(st,dr:longint):longint;
var i,j,p:longint;
b:boolean;
begin
b:=true;
j:=0;
for i:=dr downto st do begin
if (s[i]='(') then inc(p);
if (s[i]=')') then dec(p);
if b and (s[i]='+') and (p=0) then begin
b:=false;
eval:=eval(st,i-1)+eval(i+1,dr);
break;
end;
if b and (s[i]='-') and (p=0) then begin
b:=false;
eval:=eval(st,i-1)-eval(i+1,dr);
break;
end;
if b and ((s[i]='*') or (s[i]='/')) and (p=0) then j:=i;
end;
if b and (j>0) then begin
if s[j]='*' then
eval:=eval(st,j-1)*eval(j+1,dr);
if s[j]='/' then
eval:=eval(st,j-1) div eval(j+1,dr);
b:=false;
end;
if b and (s[st]='(') then begin
eval:=eval(st+1,dr-1);
b:=false;
end;
if b then
eval:=str2int(st,dr);
end;
begin
assign(input,'evaluare.in');
assign(output,'evaluare.out');
reset(input);
rewrite(output);
read(s);
writeln(eval(1,length(s)));
end.