1- Mira segun entiendo el "elementsinuse" es el numero que te indica cuantas posiciones tiene el vector o sea el limite del mismo
2- segun el programa que has puesto lo que se ejecuta es
BEGIN
thearray[1] := 1;
thearray[2] := 7;
thearray[3] := 8;
thearray[4] := 6;
thearray[5] := 10;
thearray[6] := 15;
thearray[7] := 45;
thearray[8] := 23;
thearray[9] := 2;
thearray[10] := 14;
sorting (thearray, numberofelementsinuse);
END.
y en todo eso en ningun lado le asignas un valor a numberofelementsinuse por lo tanto al llegar a la funcion sorting no ejecuta nada porque no pasa la condicion
IF (numberofelementsinuse >= 2) THEN
Por consiguente lo que tenes que hacer es asignarle un valor a numberofelementsinuse antes de llamar a la funcion sorting sino no te va a funcionar
En este caso seria
BEGIN
thearray[1] := 1;
thearray[2] := 7;
thearray[3] := 8;
thearray[4] := 6;
thearray[5] := 10;
thearray[6] := 15;
thearray[7] := 45;
thearray[8] := 23;
thearray[9] := 2;
thearray[10] := 14;
numberofelementsinuse:=10;
sorting (thearray, numberofelementsinuse);
END.
Y asi no deberia darte ningun problema.