DEFINT(intfeld[100],anzahl);
 
VOIDTYPE #FillFeld(DEFINT(n));
BLOCK(
  DEFINT(nr),
  nr:=0,
  WHILE(nr <= n, BLOCK(
    intfeld[nr]:=rnd(),
    INC(nr))
  ),
  RETURN()
);
 
VOIDTYPE #QuickSort(DEFINT(l,r));
BLOCK(
  DEFINT(i,j,x,w),
  i:=l, j:=r,
  x:=intfeld[(l+r)/2],
  WHILE(i <= j, BLOCK(
    WHILE(intfeld[i] < x, INC(i)),
    WHILE(x < intfeld[j], DEC(j)),
    IF(i <= j, BLOCK(
      w:=intfeld[i],
      intfeld[i]:=intfeld[j],
      intfeld[j]:=w,
      INC(i), DEC(j))
    ))
  ),
  IF(l < j, QuickSort(l,j)),
  IF(i < r, QuickSort(i,r)),
  RETURN()
);
 
VOIDTYPE #PrintFeld(DEFINT(n));
BLOCK(
  DEFINT(nr),
  nr:=0,
  WHILE(nr <= n, BLOCK(
    PRINT("%i ",intfeld[nr]),
    INC(nr))
  ),
  RETURN()
);
 
VOIDTYPE #BubbleSort(DEFINT(n));
BLOCK(
  DEFINT(i,j,x),
  i:=1,
  WHILE(i <= n, BLOCK(
    j:=n,
    WHILE(j >= i, BLOCK(
      IF(intfeld[j-1] > intfeld[j], BLOCK(
        x:=intfeld[j-1],
        intfeld[j-1]:=intfeld[j],
        intfeld[j]:=x)
      ),
      DEC(j))
    ),
    INC(i))
  ),
  RETURN()
);
 
CLS();
PRINT("\nBitte Anzahl eingeben (max. 99): "); scan("%i",anzahl);
FillFeld(anzahl);
QuickSort(0,anzahl);
@ BubbleSort(anzahl);
PrintFeld(anzahl).