Hice una pequeña corrección a mi algoritmo, ya que, como el array empieza desde la posición cero, si la mediana es el 2do, 3er. o 4to. elemento, sería contando desde el primero, por lo que al resultado de la posición de la mediana, habría que restarle uno.
Código PHP:
Ver originalfor ($i = 0; $i < 9; $i++) $alumnos[] = mt_rand(1, 7); echo "Datos: " . implode(", ", $alumnos) . "\r\n";
$cantidad = count($alumnos); $posMediana = ($cantidad + 1) / 2;
echo "Mediana: " . $alumnos[$posMediana - 1];
El código que va de la segunda a la tercera línea, hace exactamente lo mismo que haces en tus diez primeras líneas de código, luego, ordeno los datos, los imprimo, hallo la cantidad de elementos, la posición de la mediana e imprimo el dato respectivo, recordando que debemos restar 1 a dicha posición para que tome el dato correcto.
Saludos