Мария-Кострыгина175
?>

Разгадай кроссворд по теме "Передача информации" ​

Информатика

Ответы

Дмитрий Бундин
Uses crt;
var p,a,b,c,xa,xb,xc,ya,yb,yc,ab,ac,bc,xab,yab,xbc,ybc,xac,yac:real;
s:real;
begin
writeln('Введите х координаты вершин а и b');
readln(xa,xb);
writeln('Введите y координаты вершин а и b');
readln(ya,yb);
xab:=xb-xa;
yab:=yb-ya;
ab:=sqrt(xab*xab+yab*yab);
writeln('Введите х координаты вершин а и с');
readln(xa,xc);
writeln('Введите y координаты вершин а и c');
readln(ya,yc);
xac:=xc-xa;
yac:=yc-ya;
ac:=sqrt(xac*xac+yac*yac);
writeln('Введите х координаты вершин b и с');
readln(xb,xc);
writeln('Введите y координаты вершин b и c');
readln(yb,yc);
xbc:=xc-xb;
yab:=yc-yb;
bc:=sqrt(xbc*xbc+ybc*ybc);
p:=(ab+bc+ac)/ 2;
s:=sqrt(p*(p-ab)*(p-bc)*(p-ac));
writeln(s);
end.
mlubov1
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (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;

end;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Разгадай кроссворд по теме "Передача информации" ​
Ваше имя (никнейм)*
Email*
Комментарий*