Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Program v Pascalu na Proceduru

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...

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny