Задача 9 Урок 18

Задача 9 Урок 18:

На вход вашей программы подается строка вида:

5 + 6 -34 + 56  - 7 + 2

("сколько угодно" чисел с операциями суммы и разности в любом порядке). Вычислите результат (пробелов между символом операции и числом может и не быть)

program u18z9;
var
  a,code,i,t,itog: integer;
  s,b,n: string;

begin
  writeln('Vvedite stroku');
  readln(s);
  for i:=1 to length(s) do
  begin
    val(s[i], a, code);
    if (s[i]<>' ') then
    begin
      if (code=0) then //цифры записываем в "b"
        b:=b+s[i]
      else
      begin
        n:=s[i]; //символы записываем в "n"
        if t=0 then
        begin
          val(b,a);
          t:=a;
        end;
          b:=' ';
      end;
      val((s[i+1]), a, code);
      if (a>=0) and (code=0) and (n<>' ') then
      else
      begin
        val(b,a);
        if (n='+') then
          t:=t+a;
        if (n='-') then
          t:=t-a;
      end;
    end;
  end;
  write(t);
  readln();
end. 
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)