Сформировать файл неупорядоченных чисел. Отсортировать компоненты файла по возрастанию методом обмена («пузыря») — Pascal(Паскаль)

uses crt;
var f:file of integer;
    a,b,i,j,x:integer;
begin
clrscr;
assign(f,'fileF');
rewrite(f);
writeln('Введите в файл целые числа, окончание ввода 0:');
repeat
write('a=');
readln(a);
write(f,a);
until a=0;
clrscr;
writeln('Содержание исходного файла:');
reset(f);
while not eof(f) do
 begin
  read(f,a);
  write(a,' ');
 end;
writeln;
close(f);
reset(f);
{сортировка обменом по возрастанию}
for i:=0 to filesize(f)-2 do
for j:=i+1 to filesize(f)-1 do
  begin
    seek(f,i);
    read(f,a);
    seek(f,j);
    read(f,b);
    if a>b then
      begin
       x:=a;
       a:=b;
       b:=x;
       seek(f,i);
       write(f,a);
       seek(f,j);
       write(f,x);
      end;
   end;
close(f);
writeln('Содержание отсортированного файла:');
reset(f);
while not eof(f) do
 begin
  read(f,a);
  write(a,' ');
 end;
close(f);
readln
end.

Leave a Comment

8 + 2 =