как вариант с динамическим массивом и вычислением за один проход...
var
d : array of integer := new integer[0];
a, s : integer;
begin
repeat
read(a);
if (a <= 300) and (a > 0) then begin
setLength(d, d.Length+1);
d[d.Length-1] := a;
if (a mod 10 = 6) and (a mod 6 = 0) then s += a;
end;
until (a = 0) or (d.Length = 100);
writeln(s);
end.
1. введите N.
2. цикл for от 1 до N будем вводить 'элементы массива x[i]/
3. в цыкле от 1 до N бедем выводить на экран массив writeln(x[i]) и считаем сумму. если в программе выполнять, то это будет выглядеть так
write('введите N'); readln(n);
for i:=1 to n do begin write('введите ',i,' элемент массива');
readln (x[i]);
end;
sum:=0;
for i:=1 t0 n do begin
write(' ',x[i]);
sum:=sum+x[i];
end;
write('а сумма всех элементов = ',sum);
const n=100;
var i,sum:integer;
a:array[1..n] of integer;
begin
for i:=1 to n do begin
readln(a[i]);
if(a[i] = 0) then
break;
end;
for i:=1 to n do begin
if(a[i] <> 0) then begin
if(a[i] mod 6 = 0) and (a[i] mod 10 = 6) then
sum:=sum + a[i];
end;
end;
writeln(sum);
end.