@marina_m16

Написала программу (строка-число). В чем ошибка?

"Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые. Пример: Введите выражение: 12+3+45, Ответ: 60"
program A2;
var s,s1,s2,s3: string;
begin
  writeln ('Введите три целых числа');
  readln (s1);
  readln(s2);
  readln (s3);
  s:=s1+s2+s3;
  writeln (s1, '+', s2, '+', s3, '=', s);
  readln;
end.
  • Вопрос задан
  • 4927 просмотров
Решения вопроса 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
Вы неверно выполняете задание. На вход у вас одна строка "12+3+45", а не 3 разных переменных.
Следовательно, вы должны разделить строку по символам "+". И каждый отдельный набор символов, в данном случае
это 12, 3 и 45 привести к числовому типу, используя StrToInt или Val.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Для переменных нужно указать тип число, т.к. при сложение строк они продолжают друг друга:

'1'+'2'+'3'='123'

1+2+3=6


program A2;
var s,s1,s2,s3: integer;
begin
  writeln('Введите три целых числа');
  readln(s1);
  readln(s2);
  readln(s3);
  s:=s1+s2+s3;
  writeln (s1, '+', s2, '+', s3, '=', s);
  readln;
end.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы