Задача 8 Урок 17
Primary tabs
На вход вашей программы подается строка вида:
5 + 6 -34 + 56 - 7 + 2("сколько угодно" чисел с операциями суммы и разности в любом порядке). Вычислите результат (пробелов между символом операции и числом может и не быть)
var s, n: string; i, j, k, o, int, l, acc: integer; a: array of integer; b: array of char; begin write('Введите арифметическое выражение: '); readln(s); l := length(s); for i := 1 to l + 1 do begin val(s[i], int, o); if o = 0 then n += s[i] else begin if n <> '' then begin j += 1; setlength(a, j); val(n, int, o); a[j-1] := int; n := ''; end; if (s[i] = '+') or (s[i] = '-') then begin k += 1; setlength(b, k); b[k-1] := s[i]; end; end; end; acc := a[0]; for i := 1 to j - 1 do if b[i - 1] = '+' then acc += a[i] else acc -= a[i]; writeln('Результат вычисления: ', acc); readln(); end.
- Log in to post comments
- 598 reads