Дан файл целых чисел. записать в другой файл те элементы исходного файла, у
которых ровно три четных делителя.

есть такая программа, но она выдает неправильный ответ. найти ошибку

var f1,f2: text;
i, j, k, x: integer;

begin

assign(f1, 'file1.txt');
reset(f1);
assign(f2, 'file2.txt');
rewrite(f2);

k: =0;
while not eof(f1) do
begin
readln(f1,x);
for i: =2 to x do
if (x mod i=0) and (i mod 2=0) then inc(k);
if k=3 then writeln(f2,x);
end;
close(f1);
close(f2);

writeln('второй файл содержит числа: ');
reset(f2);
while not eof(f2) do
begin
readln(f2,x);
writeln(x);
end;

end.

svsand svsand    1   21.08.2019 12:45    0

Ответы
udinaaa udinaaa  09.08.2020 16:48

Объяснение:

После строки  if k=3 then Writeln(f2,x);

нужно поставить k:=0;

Var f1,f2: text;

i, k, x: integer;

Begin

Assign(f1, 'file1.txt');

reset(f1);

Assign(f2, 'file2.txt');

Rewrite(f2);

k:=0;

While not eof(f1) do

Begin

Readln(f1,x);

writeln(x);

for i:=2 to x do

If (x mod i=0) and (i mod 2=0) then inc(k);

if k=3 then Writeln(f2,x);

k:=0;

End;

Close(f1);

Close(f2);

Writeln('Второй файл содержит числа:');

Reset(f2);

While not eof(f2) do

Begin

Readln(f2,x);

Writeln(x);

End;

readln;

Close(f2);                                 


Дан файл целых чисел. записать в другой файл те элементы исходного файла, у которых ровно три четных
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика