|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сортировка файла (двухпутевое слияние)
не получается написать процедуру деления файла на два подфаила,необходимо записать в подфайлы упорядоченные серии(типа так исхадный содержит 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, 21.03.2009 в 14:36. |
#2
|
||||
|
||||
Какой критерий деления? Просто пополам?
|