Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так: while not eof(fr) and (kol=0) do begin read(fr, Marshrut); if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end; end; if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end; if (kol=1) then write(fr2,y); Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант: (здесь k1 и k2 - целые, а y - типа ) if (Marshrut.NK.N = '11') then begin writeln('... '); inc(kol); y:=Marshrut; k1:=FilePos(fr)-1; k2:=FilePos(fr); if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;
1. а) Петя едет в автобусе, читает книгу и насвистывает. б) Петя насвистывает, когда едет в автобусе или читает книгу. в) Петя едет в автобусе и читает книгу или насвистывает. г) то же, что и а). д) Петя едет в автобусе или читает книгу и насвистывает. 2. а) Число 5-простое = 1. б) Луна-спутник Венеры = 0. в) Число 5-простое и Луна-спутник Венеры = 0. г) Число 5-простое или Луна-спутник Венеры = 1. д) Если число 5-простое, то Луна-спутник Венеры = 0. е) Число 5-простое тогда и только тогда, когда Луна-спутник Венеры = 0. 3. а) 1999<2000 и 1999>2000 б) Петя решил все задания контрольной работы и Петя не решил все задания контрольной работы в) Неверно, что луна спутник Земли и Неверно, что луна не является спутником Земли г) Мишень поражена не первым выстрелом и Неверно, что мишень поражена не первым выстрелом. 4. А=1, В=0, С=1, Д=0.
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
then write(fr2,Marshrut)
else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
begin
read(fr, Marshrut);
write(fr2,Marshrut);
end;
if (kol=1) then write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
begin
read(fr, Marshrut);
seek (fr, k1);
write(fr, Marshrut);
seek (fr, k2);
write (fr, y);
end;
end;