Задача 8 урок 17
Primary tabs
Задача 8 урок 17
На вход вашей программы подается строка вида:
5 + 6 -34 + 56 - 7 + 2
("сколько угодно" чисел с операциями суммы и разности в любом порядке). Вычислите результат (пробелов между символом операции и числом может и не быть)
var i, sum, N, Code: integer; s, m, z: string; begin z:=''; //хранит значение арефмитич знака +/- // m переменная текущего числа sum:=0; //переменная текущейсуммы по строке writeln('Vvedite stroku'); readln(s); for i:=1 to length(s) do begin Val(s[i], N, Code); if Code=0 then m:=m+s[i] else if (s[i]='+') OR (s[i]='-') then begin if z = '' then //определение первого числа в строке begin Val(m, N, Code); sum:=N; //сумма = первое число m:=''; //обнуляем строку числа end else //если число не первое begin Val(m, N, Code); if z='+' then sum:=sum+N else sum:=sum-N; m:=''; end; if s[i]='+' then z:='+' else z:='-'; end; if i = length(s) then begin Val(m, N, Code); if z='+' then sum:=sum+N else sum:=sum-N; end; writeln(sum); end; writeln('= ',sum); readln(); end.
- Log in to post comments
- 1048 reads
vedro-compota
Sun, 09/05/2021 - 12:31
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)