Показать сообщение отдельно
  #7  
Старый 18.04.2011, 22:23
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Вот подправил, вроде работает, может и проще можно не знаю
Код:
program otkrit_file_agenstvo;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type agent=record
     kk:byte;
     et:integer;
     pl:real;
     cena:real;
     dt:record
     den:integer;
     mes:integer;
     god:integer;
     end;end;
type kvart=file of agent;
var i,u:integer; f:kvart; k:agent; m: Array [1..3] of integer; mc: real;
begin   i:=0; u:=0;
 assign(f,'C:\agenstvo.ddt');
 m[1]:= -1;
 m[2]:= -1;
 m[3]:= -1;
 For u:=1 To 3 Do
 begin
  mc:= 9999999;
  i:= 0;
  reset(f);
  While Not Eof(F) Do
   begin
    Inc(i);
    Read(F, K);
    if k.cena < mc Then
    if (m[1]<>i)and(m[2]<>i)and(m[3]<>i) Then
     begin
      mc:= k.cena;
      m[u]:= i;
     end;
   end;
 end;
 i:= 0;
 reset(f);
 While Not Eof(F) Do
  begin
   Inc(i);
   Read(F, K);
   if (i=m[1])or(i=m[2])or(i=m[3]) Then
    begin
     Writeln('kvartira: ', i);
     Writeln('komnati: ', K.kk);
     Writeln('etag: ', K.et);
     Writeln('ploschad: ',K.pl:3:0,' kv. metrov');
     Writeln('data reg.: ', K.dt.den,'.',K.dt.mes,'.',K.dt.god,'g.');
     writeln('cena: ',k.cena:8:2,' rubley');
     writeln('----------------------------');
    end;
  end;
 readln;
  Close(f);
end.
__________________
If end Then begin;
Ответить с цитированием