fork download
  1. program ideone;
  2. var
  3. r : integer;
  4. s : string;
  5. o, m : char;
  6. i, n, x : integer;
  7. begin
  8. o := '+';
  9. n := 0;
  10.  
  11. readln(r);
  12. readln(s);
  13.  
  14. for i:=1 to Length(s) do
  15. begin
  16. m := s[i];
  17. if (m='+') or (m='-') then
  18. begin
  19. if n > 0 then
  20. begin
  21. if o = '+' then r := r + x
  22. else if o = '-' then r := r - x;
  23. end;
  24. o := s[i];
  25. n := 0;
  26. end
  27. else
  28. begin
  29. if n > 0 then x := x*10 else x := 0;
  30. case m of
  31. '1': x := x + 1;
  32. '2': x := x + 2;
  33. '3': x := x + 3;
  34. '4': x := x + 4;
  35. '5': x := x + 5;
  36. '6': x := x + 6;
  37. '7': x := x + 7;
  38. '8': x := x + 8;
  39. '9': x := x + 9;
  40. else
  41. x := x div 10;
  42. end;
  43. Inc(n);
  44. end;
  45. end;
  46.  
  47. if n > 0 then
  48. begin
  49. if o = '+' then r := r + x
  50. else if o = '-' then r := r - x;
  51. end;
  52.  
  53. writeln(r:8);
  54.  
  55.  
  56. end.
Success #stdin #stdout 0s 9136KB
stdin
86
-5-3-9+2+7
stdout
      78