program selection_sort;
uses crt;

const maxN = 30;

var  a   : array[1..maxN] of string[50];
     N,i : integer;

procedure selection;
var k,l,min  : integer;
    t        : string;
begin
 for k:=1 to N-1 do
  begin
    min:=k;
    for l:=k+1 to n do  if a[l]<a[min] then min:=l;
    t:=a[min];
    a[min]:=a[k];
    a[k]:=t;
  end;
end;


procedure read_array;
var k : integer;
begin
 writeln('Geben Sie das array der Strings ein ! .  ( Ende mit CR ) ');
 writeln;writeln;
 k:=1;
 repeat
   write('a[',k,']  ?  '); readln(a[k]);
   k:=k+1;
 until a[k-1]='';
 n:=k-2;
end;


procedure print_array(ab : integer);
var k:integer;
begin
 for k:=ab to n do  writeln(a[k]);
 writeln('*** ende ***');
end;


begin
 clrscr;
 writeln('                *** Selection Sort *** '); writeln;writeln;
 read_array;       readln;
 clrscr;
 print_array(1);   readln;
 selection;        writeln;writeln;
 print_array(1);   readln;
end.