Задача 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
- 581 reads