readln(nado);{necetnih}
while not eof(fin) do
begin
readln(fin, str);
sc:='';
i:=1;
n:=0;
while i<=to Length(str) do
begin
while (str[i]=' ')and(i<=Length(str)) do begin sc:=''; inc(i); end;
while (str[i]<>' ')and(i<=Length(str)) do begin sc:=sc+str[i]; inc(i); end;
if odd(str)=true then ink(n);
end;
if n=nado then writeln(fout,str);
end;
Вариант 2
{программа переписывает в новый файл строки,
в которых количество четных чисел больше 2}
uses crt;
var f1,f2:text;
s,s1,name1,name2:string;
i,j,k,t,c:integer;
begin
clrscr;
write('Имя исходного файла: ');
readln(name1);name1:=name1+'.txt';
write('Имя измененного файла: ');
readln(name2);name2:=name2+'.txt';
assign(f1,name1);
reset(f1);
assign(f2,name2);
rewrite(f2);
while not eof(f1) do
begin
readln(f1,s);
k:=0;
i:=1;
while i<=length(s) do
if (s[i] in ['0'..'9'])and((s[i-1]=' ')or(i=1)) then
begin
j:=i;s1:='';
while s[j] in['0'..'9'] do
begin
s1:=s1+s[j];
j:=j+1;
end;
val(s1,t,c);
if (c=0)and(t mod 2=0)then k:=k+1;
i:=i+length(s1);
end
else i:=i+1;
if k>=2 then writeln(f2,s);
end;
write('Файл переписан!');
close(f1);
close(f2);
readln
end.