• На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит). Данная последовательность является правильной записью арифметического выражения, состоящего из целых десятичных чисел и знаков «плюс» и «минус» (могут стоять и перед первым числом). При этом два знака подряд в выражении не допускается. Программа должна вычислить значения данного выражения и вывести его на экран. Гарантируется, что ни на каком этапе вычислений тип longint не переполнится. Пример: введено «234-234+657.», программа должна вывести «657».

Ответы 2

  • Программа не проверяет правильность ввода данных. По условию задачи "На вход программе подаётся последовательность символов, заканчивающаяся точкой" и "последовательность является правильной записью арифметического выражения, состоящего из целых десятичных чисел и знаков «плюс» и «минус»".
    • Автор:

      eliseo
    • 6 лет назад
    • 0
  • var s,s1:string; sum,a,code,i:integer;beginwriteln('Введите выражение:');readln(s);sum:=0;s1:='';for i:=1 to length(s) do case s[i] of '0'..'9'    : s1:=s1+s[i]; '-','+','.' : begin val(s1,a,code); sum:=sum+a; s1:=s[i]; end; end;writeln('sum = ',sum);end.Пример:Введите выражение:234-234+657.sum = 657
    • Автор:

      kenny
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years