Показать сообщение отдельно
  #1  
Старый 21.03.2009, 14:06
Art2008 Art2008 вне форума
Прохожий
 
Регистрация: 21.03.2009
Сообщения: 1
Репутация: 10
По умолчанию Сортировка файла (двухпутевое слияние)

не получается написать процедуру деления файла на два подфаила,необходимо записать в подфайлы упорядоченные серии(типа так исхадный содержит 10,15,16,1,2,3,то в первый пишется(10,15,16),а во второй(1,2,
3)),я чёто наковеркал,но правильно она всё равно не работает!!!
Код:
procedure sorttwo;
 var
 a1,a2,a,i,k,j,tmp,p :integer;
 begin
 reset(f);rewrite(f1);rewrite(f2);
 read(f,a1);
 write(f1,a1,' ');
 read (f,a2);
 repeat
  begin
      while (a1<a2)  do
       begin
        write(f1,a2,' ');
        a1:=a2;
         read(f,a2);
         end;
      if eof(f) then break;
           write(f2,a2,' ');
           a1:=a2;
           read(f,a2);
         while (a1<a2) do
         begin
            write(f2,a2,' ');
             a1:=a2;
             read(f,a2);
            end;
           write(f1,a2,' ');
           a1:=a2;
           read(f,a2);
        if eof(f) then break;
          end;
      until eof(f);
       close(f);close(f1);close(f2);
 end;   {sorttwo}
Admin: Пользуемся тегами!
Ответить с цитированием