Задача 10 Урок 18
Primary tabs
На вход вашей программы подается строка вида:
?
15 + 6 -34 + 56 - 7 + 2
("сколько угодно" чисел с операциями суммы и разности в любом порядке). Вычислите результат (пробелов между символом операции и числом может и не быть)
var s:string; i,j,l,k,t:integer; a:array[1..10] of integer; x:array [1..10] of string; znak:array [1..8] of char; begin readln(s); j:=1; for i:=1 to Length(s) do begin if (s[i]>='0')and (s[i]<='9')then x[j]:=x[j]+s[i] else if s[i]<>' ' then begin znak[j]:=s[i]; j+=1; end; end; for j:=1 to high(x) do begin val(x[j],a[j],l); if (j>1) then begin if(znak[j-1]='+') then a[j]:=a[j-1]+a[j] else a[j]:=a[j-1]-a[j]; end; end; write('=',a[j]); readln(); end.
- Log in to post comments
- 356 reads