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
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin var n:=ReadInteger('Кол-во элементов:'); var a:=ArrRandomReal(n,-10,20); a.Println; Writeln('С округлением если |x|<1'); for var i:=0 to n-1 do if abs(a[i])<1 then a[i]:=Round(a[i]); a.Println end.
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
begin
var n:=ReadInteger('Кол-во элементов:');
var a:=ArrRandomReal(n,-10,20); a.Println;
Writeln('С округлением если |x|<1');
for var i:=0 to n-1 do
if abs(a[i])<1 then a[i]:=Round(a[i]);
a.Println
end.
Тестовое решение:
Кол-во элементов: 10
-0.751956142835299 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -0.700975591643235 3.85500546258642 -1.94321916994789 19.3021338336645
С округлением если |x|<1
-1 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -1 3.85500546258642 -1.94321916994789 19.3021338336645