program bubble_sort;
uses crt;
type worte = string[50];
const maxN = 250;
var a : array[1..maxN] of worte;
N : integer;
procedure bubble;
var k,l : integer;
t : worte;
begin
for k:=N downto 1 do
for l:=2 to k do
if a[l-1]>a[l] then begin
t:=a[l-1];
a[l-1]:=a[l];
a[l]:=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 read_array_von_datei( datei :string);
var dat : text;
i : integer;
begin
assign(dat,datei);
reset(dat);
i:=0;
if not eof(dat) then
repeat
i:=i+1;
readln(dat,a[i]);
until eof(dat);
N:=i;
close(dat);
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(' *** Bubble Sort *** '); writeln;writeln;
read_array_von_datei('sorting.asc'); readln;
clrscr;
print_array(1); readln;
bubble; writeln;writeln;
print_array(1); readln;
end.