Witam
Mam do opracowania algorytm w aplikacji konsolowej, który będzie czytał ciąg znaków z pliku tekstowego do tablicy, zachowując uporządkowanie kopcowe jej elementów, a następnie aplikacja ma wypisać na ekranie wszystkie elementy tablicy - od pierwszego do ostatniego.

Próbowałem coś takiego, czy ktoś może się do tego odnieść?

var
  Plik: TextFile;
  n,i,v: integer;
  a: array of integer;

procedure Wstaw(i: integer);
var
  j,tmp: integer;
begin
  j:=(i-1) div 2;
  while i>0 do
    begin
      if a[i] > a[j] then
        begin
          tmp:=a[i];
          a[i]:=a[j];
          a[j]:=tmp;
        end;
      i:=j;
      j:=(i-1) div 2;
    end;
end;

begin
  AssignFile(Plik, 'ciag.txt');
  Reset(Plik);
  v:=0;
  while not Eof(Plik) do
    begin
      Read(Plik, n);
      Inc(v);
    end;
  CloseFile(Plik);
  Setlength(a,v);
  AssignFile(Plik, 'ciag.txt');
  Reset(Plik);
  for i:=0 to v-1 do
    begin
      Read(Plik,a[i]);
      Wstaw(i);
    end;
  for i:=0 to v-1 do
    Write(a[i],'');
  Readln;
end.