Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var s,s1,s2:string;
- i,k,k1,k2,n1,n2,t,a,b:integer;
- z:char;
- Begin
- a:=0;
- b:=0;
- readln(s);
- k:=pos('*',s);
- while k<>0 do begin
- k1:=k-1;
- k2:=k+1;
- while (s[k1]<>'+') and (s[k1]<>'-') and (s[k1]<>'*') and (k1<>1) do begin
- k1:=k1-1;
- end;
- if k1<>1 then k1:=k1+1;
- while (s[k2]<>'+') and (s[k2]<>'-') and (s[k2]<>'*') and (k2<>length(s)) do k2:=k2+1;
- if k2<>length(s) then k2:=k2-1;
- s1:=copy(s,k1,k-k1);
- s2:=copy(s,k+1,k2-k);
- val(s1,n1,t);
- val(s2,n2,t);
- n1:=n1*n2;
- str(n1,s1);
- delete(s,k1,k2-k1+1);
- insert(s1,s,k1);
- k:=pos('*',s);
- end;
- z:='+';
- for i:=1 to length(s) do begin
- case s[i] of
- '0'..'9': a:=a*10+ord(s[i])-ord('0')
- else begin
- if z='+'
- then b:=b+a
- else b:=b-a;
- z:=s[i];
- a:=0;
- end;
- end;
- end;
- if z='+' then b:=b+a
- else b:=b-a;
- writeln(b);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement