Предмет: Информатика,
автор: SeLeN5
Паскаль АВС
Введите строку, в которой записана сума натуральных чисел, например, "1+25+3". Вычислите это выражение.
Аноним:
Насколько я понимаю задачу, имеется в виду, что в строке находятся числа, соединенные между собой знаком "плюс" и их количество ограничено только длиной строки.
Ответы
Автор ответа:
10
var
s,sd:string;
i,n,sum,d,err:integer;
begin
Writeln('Введите строку для суммирования');
Read(s);
sum:=0;
n:=Length(s);
if n>0 then begin
i:=2; sd:=s[1];
while i<=n do begin
if s[i]<>'+' then sd:=sd+s[i]
else begin
Val(sd,d,err);
sum:=sum+d;
sd:=''
end;
Inc(i);
end;
Val(sd,d,err);
sum:=sum+d
end;
Writeln('Сумма равна ',sum)
end.
Тестовые примеры:
Введите строку для суммирования
1+25+3
Сумма равна 29
Введите строку для суммирования
143+38+253+62
Сумма равна 496
s,sd:string;
i,n,sum,d,err:integer;
begin
Writeln('Введите строку для суммирования');
Read(s);
sum:=0;
n:=Length(s);
if n>0 then begin
i:=2; sd:=s[1];
while i<=n do begin
if s[i]<>'+' then sd:=sd+s[i]
else begin
Val(sd,d,err);
sum:=sum+d;
sd:=''
end;
Inc(i);
end;
Val(sd,d,err);
sum:=sum+d
end;
Writeln('Сумма равна ',sum)
end.
Тестовые примеры:
Введите строку для суммирования
1+25+3
Сумма равна 29
Введите строку для суммирования
143+38+253+62
Сумма равна 496
Похожие вопросы
Предмет: Русский язык,
автор: салманчик2008
Предмет: Английский язык,
автор: emmochka2
Предмет: Қазақ тiлi,
автор: mashashteyn04
Предмет: Русский язык,
автор: Roma814
Предмет: Математика,
автор: clastin