Предмет: Информатика,
автор: g0golmogol
найдите ошибку в программе. она нужна, чтобы в последовательности чисел, находить четные числа, кратные трем. и выдавать количество этих чисел
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.
Ответы
Автор ответа:
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
И очень муторный и непонятный код, я переписал немножко:
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
Автор ответа:
0
Да, правда я забыл указать, что количество чисел не дано, и когда вводится 0, последовательность заканчивается
Автор ответа:
0
Ну, у меня не вводится количество чисел...
Автор ответа:
0
ну там по любому цикл while должен быть
Автор ответа:
0
а все заметил
Похожие вопросы
Предмет: Биология,
автор: liza83838383
Предмет: Алгебра,
автор: lolotrek227
Предмет: Русский язык,
автор: Аноним
Предмет: Математика,
автор: zarinka1234567
Предмет: Математика,
автор: lenusyanekraso