var i, sum:integer;
n:string;
begin
readln(n);
for i:=1 to length(n) do begin
if StrToInt(n[i]) mod 4 <> 0 then
sum:=sum+StrToInt(n[i]);
end;
writeln(sum);
end.
const n=27;
var a:array [1..n] of integer;
i:integer;
begin
write(' Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(26)-10;
write(a[i]:3,' ');
if a[i] mod 2 <> 0 then a[i]:=3
else a[i]:=a[i]-3//уменьшает на 3,т.к. при уменьшении в 3 раза получается тип real, тут или второй массив создавать или взять a[i]:=a[i] div 3 (целочисленное деление)
end;
writeln;
write('Преобразованый массив: ');
for i:=1 to n do write(a[i]:3,' ')
end.
клавиатура, тк это ввод символов, а не управление указателем
<h3>PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018</h3>
begin
ReadInteger('n->').ToString.JoinIntoString(' ').ToIntegers
.Where(t -> t mod 4 = 0).Sum.Println;
end.