Trošku som poopravil Tvoj program a pridal proceduru na triedenie poľa:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
A=array[1..50] of integer;
var
M:A;
i,pocet:integer;
x:integer;
procedure Sort(var A: array of Integer);
procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Mid do Inc(Lo);
while A[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iHi then QuickSort(A, Lo, iHi);
end;
begin
QuickSort(A, Low(A), High(A));
end;
begin
writeln('Kolik cisel budete zadavat?: ');
readln(pocet);
writeln;
writeln('Zadejte prvky oddelene ENTREM: ');
for i:=1 to pocet do
begin
readln(x);
M[i]:=x;
end;
writeln;
write('Zadana mnozina je: ');
writeln;
for i:=1 to pocet do
write(M[i],' ');
Sort(M);
writeln;
writeln('Maxima ze zadanych cisel jsou: ');
write (M[High(M)],' a ', M[High(M)-1],' a ', M[High(M)-2],' a ', M[High(M)-3]) ;
writeln;
writeln('Program se ukonci stiskem klavesy ENTER');
readln;
end.
Funguje aj so zápornými číslami...