Sortowanie przez wstawianie (select sort)

0

Witam! Bardzo proszę o pomoc w sprawie co jest nie tak w tym algorytmie(jest to algorytm sortowania przez selekcję), ponieważ źle on sortuje. Czy jak numeruje
tablicę od 1 a ni od 0 to jest to w porządku?

program select_sort1;

var
n,i,k,index,max,l,m,temp : integer;
a : array[1..10] of integer;

begin
n:=10;

for k:=n downto 1 do

   begin
   max:=a[1];
   
       for i:=0 to k do

               if max<a[i] then
               
                   begin
                   max:=a[i];
                   index:=i;
                   end;
           
       temp:=a[k];
       a[k]:=max;
       a[index]:=temp;
           
           
  end;    
   

end.

0
program select_sort1;

var
n,i,k,index,max,l,m,temp : integer;
a                        : array[1..10] of integer;

begin
n:=10;
   
   for k:=n downto 1 do
   
       begin
       max:=a[1];
  index := 1; (* W razie, gdyby trzeba bylo zamienic sam z soba. Ew. mozna zamiast tego przy warunku dac <= *)
       
           for i:=1 to k do  (* Odwolanie a[0] byloby bledne *)
 
                   if max<a[i] then
                   
                       begin
                       max:=a[i];
                       index:=i;
                       end;
               
           temp:=a[k];
           a[k]:=max;
           a[index]:=temp;
               
               
      end;    
       
end.

To takie na pierwszy rzut oka błędy. Być może jeszcze coś jest nie tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1