Задача 7 урок 17
Primary tabs
Задача 7 урок 17
На вход вашей программы подается строка вида:
<целоечисло><произвольное число пробелов> <арифм.операция> <произвольное число пробелов> <целоечисло>
например:
1 + 3
или
2 - 12
Напишите программу, которая разбирает вычисляет результат этого приложения (сделайте поддержку операций сложения и вычитания).
var x, y: integer; s, w: string; procedure getData(str: string; var n, m: integer; var z: string); var i, y, T, Code: integer; a: string; begin y:=1; //индекс вводимого числа for i:=1 to length(s) do begin if ((str[i]>='0')and(str[i]<='9')) AND (y=1) then //если число a:=a+str[i] else if (str[i]=' ') AND (y=1) then //после первого пробела begin Val(a, T, Code); n:=T; a:=''; inc(y); end else if (str[i]='+') OR (str[i]='-') then z:= str[i] else if ((str[i]>='0')and(str[i]<='9')) AND (y=2) then a:=a+str[i]; if i=length(str) then //после последнего символа begin Val(a, T, Code); m := T; end; end; end; begin writeln('Vvedite stroku vida: chislo/n*probel/+ OR -/n*probel/chislo'); readln(s); getData(s, x, y, w); if w='+' then writeln('summa = ',x+y) else writeln('raznost = ',x-y); readln(); end.
- Log in to post comments
- 1992 reads
vedro-compota
Sun, 09/05/2021 - 12:36
Permalink
(str[i]>='0')and(str[i]
-- постараться уйти от дублирования
_____________
матфак вгу и остальная классика =)
boris68
Mon, 09/06/2021 - 21:36
Permalink
Исправлено
vedro-compota
Tue, 09/14/2021 - 22:32
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)