найдите ошибку в программе. она нужна, чтобы в последовательности чисел, находить четные числа, кратные трем. и выдавать количество этих чисел
program abc;
var col, a : integer;
BEGIN
col:=0;
readln (a);
if ((a<>0) and (a mod 3=0) and (a mod 2 =0)) then
col:=col+1;
if a<>0 then
begin
while a<>0 do
readln (a);
if (a mod 3=0) and (a mod 2 =0) then
col:=col+1;
end;
writeln ('количество ',col);
end.

Ответы

Ответ дал: danulpopov
0
Программа рабочая, скорее всего ты просто вводил элементы в строчку, а у тебя стоит в чтении переход на новую строку(окончание 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


Ответ дал: g0golmogol
0
Да, правда я забыл указать, что количество чисел не дано, и когда вводится 0, последовательность заканчивается
Ответ дал: danulpopov
0
Ну, у меня не вводится количество чисел...
Ответ дал: g0golmogol
0
ну там по любому цикл while должен быть
Ответ дал: g0golmogol
0
а все заметил
Вас заинтересует