Показать сообщение отдельно
  #1  
Старый 30.12.2009, 20:10
Аватар для N@stya
N@stya N@stya вне форума
Прохожий
 
Регистрация: 29.12.2009
Сообщения: 5
Репутация: 10
Сообщение Программа на типизированные файлы

Помогите пожалуйста завершить программу!
Дан файл целых чисел F1. Выполнить над элементами файла следующее действие:Среди каждых трех компонент файла F1 удалить максимальное, а два других поменять местами.( То есть например дан файл f1: 123465832, На выходе программы должно быть:215423.
Код:
{$APPTYPE CONSOLE}

uses
  SysUtils;

 type tfile=file of integer;
procedure VvodFile(var f:tfile);
 var k:integer;
begin
   rewrite(f);
   while random(30)<>20 do
  begin
   k:=random(100)-50;
   write(f,k);
  end;
 closefile(f);
end;
procedure VivodFile(var f:tfile);
 var k:integer;
begin
 reset(f);
 while not eof(f) do
  begin
   read(f,k);
   write(k,' ');
  end;
 closefile(f);
 writeln;
end;
var f1,f2,f3:tfile;
     k,k1,p,max,min,i,j,x,im,tmp:integer; a:array of integer;
begin

 randomize;
 assign(f1,'1.dat');
 assign(f2,'2.dat');
 VvodFile(f1);
 writeln('1 file');
 VivodFile(f1);
 reset(f1);

 rewrite(f2);
 while  not eof(f1) do
  begin

   p:=0;
  max:=-100;

   while (p<3) and not eof(f1) do
    begin

     read(f1,k);
     if k>max then  max:=k;

            p:=p+1;  end;  end;               

Вот здесь я нашла все максимумы каждых трех компонент файла f1. Что можно сделать дальше?
Ответить с цитированием