program lotto;

uses crt;

const kugeln = 6;

type 	zahlenarray = array[1..kugeln] of integer;

var		Lottozahlen : zahlenarray;
		ende		: boolean;

procedure init(var feld : zahlenarray);
	var i : integer;
begin
	for i:=1 to kugeln do
		feld[i]:=0;
end;

procedure sort(var feld : zahlenarray);
	var i, j, temp : integer;
begin
	for i:=6 downto 2 do
	begin
		for j:=2 to i do
		begin
			if feld[j-1]>feld[j] then
			begin
		        temp:=feld[j];
   		 	    feld[j]:=feld[j-1];
   		     	feld[j-1]:=temp;
			end;
		end;
	end;
end;

procedure berechnezahlen(var feld : zahlenarray);
	var i, j : integer;
		nochmal : boolean;
begin
	for i:=1 to kugeln do
	begin
	    nochmal:=FALSE;
    	repeat
        	feld[i]:=Random(49)+1;
          	IF i>1 THEN
			begin
	            nochmal:=false;
	            for j:=1 to i-1 do
	            begin
					if feld[i]=feld[j] then nochmal:=true;
            	end;
          	end;
		until (nochmal=FALSE);
	end;
end;

procedure writezahlen(var feld : zahlenarray);
	var i : integer;
		str: string;
		c  : char;
begin
	str:=' ';
	ClrScr;
	Writeln('Das Programm berechnet 6 Zahlen fr das Samstag-Lotto');
	Writeln;
	for i:=1 to kugeln do
	begin
		writeln(feld[i]);
	end;
	Writeln;
	Writeln('Weiter mit Taste, Eingabe von ''e'' beendet');
	c:=readkey;
	if (c='e') or (c='E') then ende:=true;
end;

	(* main *)

begin
	ende:=false;
	Randomize;
	repeat	
		init(Lottozahlen);
		berechnezahlen(Lottozahlen);
		sort(Lottozahlen);
		writezahlen(Lottozahlen);
	until (ende=true);
end.