Программа рабочая, скорее всего ты просто вводил элементы в строчку, а у тебя стоит в чтении переход на новую строку(окончание LN), и паскаль просто не видел никакие числа, кроме первого.
И очень муторный и непонятный код, я переписал немножко:
var
col, a: integer;
begin
col := 0;Read(a);
while a <> 0 do
begin
read(a);
if (a mod 3 = 0) and (a mod 2 = 0) then
col := col + 1;
end;
writeln('количество ', col);
end.
Пример:
6 12 9 36 0
количество 3
begin
var s := ReadlnString();
if s.Length.IsOdd then
Write(s[(1 + s.Length) div 2])
else
Write(s[s.Length div 2], s[s.Length div 2 + 1])
end.
В пятом будет под буквой Г
1) var a,b,d,e,c,k,l,f:integer;
begin
read(a);
b:=a mod 10;
c:=a div 1000;
k:=a mod 100;
e:=k div 10;
l:=a div 100;
d:=l mod 10;
f:=b*c*e*d;
write(f);
End.
2)зачерпнуть 8л, вылить 3 л в ведро ёмкостью 3л, вылить из ведра 3 л, пережить из первого 3л, вылить 3 л, долить оставшиеся 2 л, наполнить первое ведро, долить литр во второе ведро. и того в 1 - 7л, во втором - 3.