Урок 17(Решенная задача номер 7)
Primary tabs
Урок 17(Решенная задача номер 7)
На вход вашей программы подается строка вида:
<целоечисло><произвольное число пробелов> <арифм.операция> <произвольное число пробелов> <целоечисло>например:
1 + 3или
2 - 12Напишите программу, которая разбирает вычисляет результат этого приложения (сделайте поддержку операций сложения и вычитания).
var s : string; function ru36(h : string): integer; var i, c, pervcislo, vtrcislo: integer; g, g2, g3 : string; d : boolean; begin d := false; g3 := ''; for i := 1 to length(h) do begin if (s[i] >= '0') and (s[i] <= '9') then g := g + s[i]; if (s[i+1] = ' ') and (d = false) then begin val(g, pervcislo, c); g := ''; d := true; end; if (s[i] = '+') or (s[i] = '-') then g3 := s[i]; if (s[i - 1] = ' ') and (s[i] >= '0') and (s[i] <= '9') then g2 := g2 + s[i]; if (i = length(s)) then val(g, vtrcislo, c); end; if (g3 = '+') then result := pervcislo + vtrcislo else result := pervcislo - vtrcislo; writeln(result); end; begin writeln('vvedite stroky'); readln(s); ru36(s); end.
- Log in to post comments
- 597 reads